Docker Compose - Instalação e utilização.

O Docker Compose é uma ferramenta que permite definir e executar ambientes do Docker com vários contêineres. Pode configurar seus serviços de aplicativo em um arquivo de composição e, em seguida, iniciar e interromper todos os serviços desse arquivo. Os arquivos  de configuração devem ser criados com extensões .yml ou .yaml para que possa ser lido. Neste post aprenderemos a instalar e configurar o Docker Compose, e realizaremos a instalação de dois contêineres utilizando a ferramenta.

Instalação

Pré-requisitos: Docker, Debian 64bits

O Docker Compose deve ser baixado do site do projeto no Github. O comando abaixo realiza o download e move-o para a pasta /usr/bin. Lembrando que em primeiro lugar é necessário ter instalado o Docker Engine.

# curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose

Dê Permissão de execução ao binário baixado.

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

Pronto, o Docker compose foi instalado. Agora podemos ver as opções disponíveis ao executar o comando:

# docker-compose --help

Para verificar a versão instalada:

  # docker-compose --version
docker-compose version 1.19.0, build 9e633ef

Para desinstalar, basta remover o arquivo:

# rm /usr/bin/docker-compose

Instalação de contêineres

Acesse o site Docker Store, realize a busca do contêiner desejado. Na página do aplicativo encontre as configurações necessárias para criar o arquivo yml. Neste exemplo utilizaremos o contêiner da aplicação mariadb e o gerenciador de banco adminer. Para instalar via docker composer crie um arquivo com a extensão, segue os comandos:

# mkdir app
# cd app
# touch docker-compose.yml

Adicione o conteúdo:

# Use root/example as user/password credentials
version: '3.1'
services:
db:
image: mariadb
restart: always
environment:
MYSQL\_ROOT\_PASSWORD: 123
adminer:
image: adminer
restart: always
ports:
- 8080:8080

Após salvar o arquivo, realize a construção da projeto.

# docker-compose up -d

Podemos listar os contêineres e verificar o status de cada um.

# docker-compose ps

Verificamos na coluna State que os dois contêineres (app_adminer_1 e app_db_1) estão com o status UP, portanto, podemos acessar o nosso banco de dados pelo gerenciador Adminer. Para acessar, abra o navegador e digite o endereço do seu servidor com a respectiva porta ( http://ip_do_seu_servidor:8080).

Comandos Úteis do docker compose

O DC possui vários comandos que facilitam a manipulação das imagens e contêineres criados. Por exemplo, seguem dois comandos, um que para e outro que inicia o contêiner.

# docker-compose stop

# docker-compose start

Para parar e remover os contêineres, execute:

# docker-compose down

Um detalhe importante é que para que comando funcione corretamente é necessário realizá-lo dentro da pasta do projeto onde esta o arquivo docker-compose.yml que criamos anteriormente. Para visualizar todos os comandos disponíveis para o docker-compose execute o comando abaixo:

# docker-compose --help

Chegamos ao fim deste tutorial, caso queira saber mais sobre o Docker Compose acesse Aqui.