Compose é a ferramenta que permite definir e executar multiplos containers. É uma ótima forma
para criar ambientes através de seu arquivo de configuração no formato .yml
.
Usando um único comando é possível iniciar todos os serviços a partir do seu arquivo de configuração.
Verifique se já possui o docker instalado
Caso não tenha do docker instalado veja instalando o docker para mais informações
Instalado o docker compose
Com o docker instalado instale o python-pip
$ sudo apt-get install -y python-pip
Então, você pode instalar o Docker Compose:
$ sudo pip install docker-compose
Executando um container com Docker Compose
Exemplo wordpress
No exemplo a seguir, será criado um arquivod docker-compose.yml no qual vai subir
dois serviços: Banco de dados e Wordpress.
version: '2'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
Então temos dois serviços configurados db e wordpress, o serviço db utiliza a imagem mysql:5.7
onde utiliza o volume db_data e restart always.
Já o serviço wordpress tem um depends_on no qual segnifica que esse serviço depende do serviço db.
Para mais informações ssbre o Compose file
Nesse exemplo a cima foi criado uma pasta chamada my_wordpress e o arquivo docker-compose.yml foi salvo dentro dela.
Agora pra executar basta entrar na poasta my_wordpress fazer o seguinte comando:
Parar / apagar
docker-compose down irá remover os containers e a rede padrão, mas vai preservar o banco de dados do wordpress.
docker-composer down --volumes irá remover os containers, rede padrão e o banco de dados wordpress.