A large production environment runs lots of containers on lots of machines, which results in a lot of complexity to manage the containers and the nodes. To manage the containers you could use orchestratos, such as, Docker Swarm, Kubernetes, or DO/OS.
Docker lets you build and manage the containers.
Docker-compose lets you define the configuration of the various containers that makes up the application.
Docker Swarm/Apache Mesos/Kubernetes are orchestrators, which makes all the machines look like a single machine. They take care of scheduling and running the containers on the underlying nodes.
Creating and managing these nodes is a complex tasks and could require a lot of time in getting the infrastructure ready.
Azure container service manages the underlying infrastructure to run your containerized applications - using the tools of your choice.