Docker - Compor
Docker Composeé usado para executar vários contêineres como um único serviço. Por exemplo, suponha que você tenha um aplicativo que requer NGNIX e MySQL, você poderia criar um arquivo que iniciaria ambos os contêineres como um serviço sem a necessidade de iniciar cada um separadamente.
Neste capítulo, veremos como começar a usar o Docker Compose. Em seguida, veremos como obter um serviço simples com MySQL e NGNIX instalado e funcionando usando o Docker Compose.
Docker Compose ─ Instalação
As etapas a seguir precisam ser seguidas para colocar o Docker Compose em funcionamento.
Step 1 - Baixe os arquivos necessários de github usando o seguinte comando -
curl -L "https://github.com/docker/compose/releases/download/1.10.0-rc2/dockercompose
-$(uname -s) -$(uname -m)" -o /home/demo/docker-compose
O comando acima baixará a versão mais recente do Docker Compose que, no momento em que este artigo foi escrito, é 1.10.0-rc2. Ele irá então armazená-lo no diretório/home/demo/.

Step 2 - Em seguida, precisamos fornecer execute privileges para o arquivo Docker Compose baixado, usando o seguinte comando -
chmod +x /home/demo/docker-compose

Podemos então usar o seguinte comando para ver o compose versão.
Sintaxe
docker-compose version
Parâmetros
version - Isso é usado para especificar que queremos os detalhes da versão do Docker Compose.
Resultado
Os detalhes da versão do Docker Compose serão exibidos.
Exemplo
O exemplo a seguir mostra como obter o docker-compose versão.
sudo ./docker-compose -version
Resultado
Você obterá a seguinte saída -

Criando seu primeiro arquivo Docker-Compose
Agora, vamos prosseguir e criar nosso primeiro arquivo Docker Compose. Todos os arquivos Docker Compose são arquivos YAML. Você pode criar um usando o editor vim. Portanto, execute o seguinte comando para criar ocompose arquivo -
sudo vim docker-compose.yml

Vamos dar uma olhada nos vários detalhes deste arquivo -
o database e webpalavras-chave são usadas para definir dois serviços separados. Um estará executando nossomysql banco de dados e o outro será nosso nginx servidor web.
o image palavra-chave é usada para especificar a imagem de dockerhub para nós mysql e nginx recipientes
Para o banco de dados, estamos usando a palavra-chave portas para mencionar as portas que precisam ser expostas para mysql.
E então, também especificamos as variáveis de ambiente para mysql que são necessários para executar mysql.
Agora vamos executar nosso arquivo Docker Compose usando o seguinte comando -
sudo ./docker-compose up
Este comando levará o docker-compose.yml arquivo em seu diretório local e comece a construir os contêineres.

Uma vez executado, todas as imagens começarão a ser baixadas e os contêineres serão iniciados automaticamente.

E quando você faz um docker ps, você pode ver que os contêineres estão realmente funcionando.
