Has `docker-compose` to be phased out in favor of `docker stack`? According to the August 2017 article the core functionalities of docker-compose were integrated into the new docker stack command. At the end of the article, the author also assumes docker-compose will soon to be deprecated. The docker stack deploy documentation is currently pretty sparse. 

The article is six months old now. So, is docker stack the way to go, or is there still some advantage in using docker-compose today? Especially, I will soon introduce Docker to students. Is it worth spending time studying with them details of docker-compose or should I just jump to docker stack?
There are a few features of docker-compose that are not implemented in docker stack deploy and vice versa.

With docker-compose, you can run privileged containers and change capabilities which is not supported with swarm services yet. You can also run a container that is designed to exit, e.g. a batch job, more intuitively in docker-compose than in swarm mode. If your containers are designed for sysadmin tasks, this may make more sense.

With docker stack deploy, you get access to secrets and configs, along with replication settings, configuration of rolling updates, ingress networking with the routing mesh, and various other swarm mode features. If your containers are designed for highly available microservices, this makes more sense.

Both of these use the same docker-compose.yml definition file (with version 3 required for swarm mode). That makes moving between the two fairly easy. There are also projects like compose-on-kubernetes and kompose that make the transition to kubernetes with the same stack definitions easy.