Docker For Mac Compose Version 3
Introduction is a great tool for automating the deployment of Linux applications inside software containers, but to take full advantage of its potential each component of an application should run in its own individual container. For complex applications with a lot of components, orchestrating all the containers to start up, communicate, and shut down together can quickly become unwieldy. The Docker community came up with a popular solution called, which allowed you to use a single YAML file to orchestrate all your Docker containers and configurations.
Docker Compose relies on Docker Engine for any meaningful work, so make sure you have Docker Engine installed either locally or remote, depending on your setup. On desktop systems like Docker for Mac and Windows, Docker Compose is included as part of those desktop installs.
This became so popular that the Docker team decided to make Docker Compose based on the Fig source, which is now deprecated. Docker Compose makes it easier for users to orchestrate the processes of Docker containers, including starting up, shutting down, and setting up intra-container linking and volumes.
In this tutorial, we'll show you how to install the latest version of Docker Compose to help you manage multi-container applications. Prerequisites To follow this article, you will need an Ubuntu 16.04 server with the following: • A non-root user with sudo privileges ( explains how to set this up.) • Docker installed with the instructions from Step 1 and Step 2 of Once these are in place, you're ready to follow along. Note: Even though the Prerequisites give instructions for installing Docker on Ubuntu 16.04, the docker commands in this article should work on other operating systems as long as Docker is installed.
Step 1 — Installing Docker Compose Although we can install Docker Compose from the official Ubuntu repositories, it is several minor version behind the latest release, so we'll install Docker Compose from the Docker's GitHub repository. The command below is slightly different than the one you'll find on the page.
By using the -o flag to specify the output file first rather than redirecting the output, this syntax avoids running into a permission denied error caused when using sudo. We'll check the and if necessary, update it in the command below: • sudo curl -L 1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose Next we'll set the permissions: • sudo chmod +x /usr/local/bin/docker-compose Then we'll verify that the installation was successful by checking the version: • docker-compose --version This will print out the version we installed. Outputdocker-compose version 1.18.0, build 8dd22a9 Now that we have Docker Compose installed, we're ready to run a 'Hello World' example.
Step 2 — Running a Container with Docker Compose The public Docker registry, Docker Hub, includes a Hello World image for demonstration and testing. It illustrates the minimal configuration required to run a container using Docker Compose: a YAML file that calls a single image: First, we'll create a directory for the YAML file and move into it: • mkdir hello-world • cd hello-world Then, we'll create the YAML file: • nano docker-compose.yml Put the following contents into the file, save the file, and exit the text editor. Docker-compose.yml my-test: image: hello-world The first line in the YAML file is used as part of the container name. The second line specifies which image to use to create the container.
When we run the command docker-compose up it will look for a local image by the name we specified, hello-world. With this in place, we’ll save and exit the file. We can look manually at images on our system with the docker images command: • docker images When there are no local images at all, only the column headings display.
What is control>alt> delete for mac computers. OutputPulling my-test (hello-world:latest). Latest: Pulling from library/hello-world c04b14da8d14: Downloading [==================================================>] c04b14da8d14: Extracting [==================================================>] c04b14da8d14: Extracting [==================================================>] c04b14da8d14: Pull complete Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd1de4cdcf9431a1feb60fd9 Status: Downloaded newer image for hello-world:latest..
After pulling the image, docker-compose creates a container, attaches, and runs the program, which in turn confirms that the installation appears to be working. Output of docker-compose up1. The Docker client contacted the Docker daemon. The Docker daemon pulled the 'hello-world' image from the Docker Hub.