Instalando e usando docker compose

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:

$ docker-compose up -d

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.

blogroll

social