Pesquisa de site

Contêiner: Docker Compose no Ubuntu 16.04


O que é Docker Compose

Docker Compose é uma ferramenta para executar aplicativos Docker com vários contêineres. Para configurar os serviços de uma aplicação com o Compose utilizamos um arquivo de configuração, e então, executando um único comando, é possível criar e iniciar todos os serviços especificados na configuração.

Docker Compose é útil para muitos projetos diferentes, como:

  • Desenvolvimento: com as ferramentas de linha de comando do Compose criamos (e interagimos com) um ambiente isolado que hospedará a aplicação que está sendo desenvolvida.
    Ao usar o arquivo Compose, os desenvolvedores documentam e configuram todas as dependências de serviço do aplicativo.
  • Testes automatizados: este caso de uso requer um ambiente para execução de testes. O Compose fornece uma maneira conveniente de gerenciar ambientes de teste isolados para um conjunto de testes. O ambiente completo é definido no arquivo Compose.

Docker Compose foi feito no código-fonte Fig, um projeto comunitário agora não utilizado.

Neste tutorial veremos como instalar o Docker Compose em uma máquina Ubuntu 16.04.

Instale o Docker

Precisamos do Docker para instalar o Docker Compose. Primeiro, adicione a chave pública do repositório oficial do Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add-

Em seguida, adicione o repositório Docker ao

apt

lista de fontes:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Atualize o banco de dados de pacotes e instale o Docker com

apt

:

sudo apt-get update
sudo apt install docker-ce

No final do processo de instalação, o daemon Docker deve ser iniciado e habilitado para carregamento no momento da inicialização. Podemos verificar seu status com o seguinte comando:

sudo systemctl status docker
---------------------------------

● docker.service - Docker Application Container Engine
 Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
 Active: active (running) 

Instale o Docker Compose

Neste ponto é possível instalar o Docker Compose. Baixe a versão atual executando o seguinte comando:



curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

Torne o executável binário baixado:

chmod +x /usr/local/bin/docker-compose

Verifique a versão do Docker Compose:

docker-compose -v

A saída deve ser algo assim:

docker-compose version 1.14.0, build c7bdf9e

Testando o Docker Compose

O Docker Hub inclui uma imagem Hello World para fins de demonstração, ilustrando a configuração necessária para executar um contêiner com Docker Compose.

Crie um novo diretório e vá para ele:

mkdir hello-world
cd hello-world

Crie um novo arquivo YAML:

$EDITOR docker-compose.yml

Neste arquivo cole o seguinte conteúdo:

unixmen-compose-test:
 image: hello-world

Observação: a primeira linha é usada como parte do nome do contêiner.

Salvar e sair.

Execute o contêiner

Em seguida, execute o seguinte comando no diretório hello-world:

sudo docker-compose up

Se tudo estiver correto, esta deverá ser a saída mostrada pelo Compose:

Pulling unixmen-compose-test (hello-world:latest)...
latest: Pulling from library/hello-world
b04784fba78d: Pull complete
Digest: sha256:f3b3b28a45160805bb16542c9531888519430e9e6d6ffc09d72261b0d26ff74f
Status: Downloaded newer image for hello-world:latest
Creating helloworld_unixmen-compose-test_1 ... 
Creating helloworld_unixmen-compose-test_1 ... done
Attaching to helloworld_unixmen-compose-test_1
unixmen-compose-test_1 | 
unixmen-compose-test_1 | Hello from Docker!
unixmen-compose-test_1 | This message shows that your installation appears to be working correctly.
unixmen-compose-test_1 | 
unixmen-compose-test_1 | To generate this message, Docker took the following steps:
unixmen-compose-test_1 | 1. The Docker client contacted the Docker daemon.
unixmen-compose-test_1 | 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
unixmen-compose-test_1 | 3. The Docker daemon created a new container from that image which runs the
unixmen-compose-test_1 | executable that produces the output you are currently reading.
unixmen-compose-test_1 | 4. The Docker daemon streamed that output to the Docker client, which sent it
unixmen-compose-test_1 | to your terminal.
unixmen-compose-test_1 | 
unixmen-compose-test_1 | To try something more ambitious, you can run an Ubuntu container with:
unixmen-compose-test_1 | $ docker run -it ubuntu bash
unixmen-compose-test_1 | 
unixmen-compose-test_1 | Share images, automate workflows, and more with a free Docker ID:
unixmen-compose-test_1 | https://cloud.docker.com/
unixmen-compose-test_1 | 
unixmen-compose-test_1 | For more examples and ideas, visit:
unixmen-compose-test_1 | https://docs.docker.com/engine/userguide/
unixmen-compose-test_1 | 
helloworld_unixmen-compose-test_1 exited with code 0

Os contêineres Docker só são executados enquanto o comando estiver ativo, portanto, o contêiner irá parar quando a execução do teste terminar.

Conclusão

Isso conclui o tutorial sobre a instalação do Docker Compose em uma máquina Ubuntu 16.04. Também vimos como criar um projeto simples através do arquivo Compose no formato YAML.

Artigos relacionados: