Fala pessoal beleza!
No post anterior nós configuramos uma stack WordPress e MySQL com o Docker e o Docker Compose. Nesse post nós iremos executar essa stack. Se você conferiu o post anterior então certamente tem um arquivo docker-compose.yml igual ao código abaixo.
version: '3.4' services: db: image: mysql:5.7.22 command: mysqld --default_authentication_plugin=mysql_native_password environment: TZ: America/Sao_Paulo MYSQL_ROOT_PASSWORD: docker MYSQL_USER: docker MYSQL_PASSWORD: docker MYSQL_DATABASE: wordpress ports: - 3308:3306; networks: - wordpress-network wordpress: image: wordpress:latest volumes: - ./config/php.conf.uploads.ini:/usr/local/etc/php/conf.d/uploads.ini - ./wp-app:/var/www/html environment: TZ: America/Sao_Paulo WORDPRESS_DB_HOST: db WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: docker ports: - 80:80 networks: - wordpress-network networks: wordpress-network: driver: bridge
Agora vamos acessar o diretório desse arquivo e abrir o terminal (se não for no mesmo diretório do arquivo não irá funcionar). Com o terminal aberto digite o comando docker-compose up -d para que o Docker Compose inicialize a stack. O parâmetro -d é opcional e é usado para que o Docker Compose inicie de modo detachado e libere o terminal pra que possamos continuar usando. Esse processo pode levar alguns minutos já que ele irá baixar as Docker images e inicializar os contêineres, algo que pode demorar dependendo da sua internet e de seu hardware. Se tudo correr bem então a saída no terminal deve ser similar à abaixo:
root@leandro:/home/leandro# docker-compose up -d Creating network "1306networksindockercompose_wordpress-network" with driver "bridge" Pulling db (mysql:5.7.22)... 5.7.22: Pulling from library/mysql be8881be8156: Pull complete c3995dabd1d7: Pull complete 9931fdda3586: Pull complete bb1b6b6eff6a: Pull complete a65f125fa718: Pull complete 2d9f8dd09be2: Pull complete 37b912cb2afe: Pull complete 79592d21cb7f: Pull complete 00bfe968d82d: Pull complete 79cf546d4770: Pull complete 2b3c2e6bacee: Pull complete Digest: sha256:aaba540cdd9313645d892f4f20573e8b42b30e5be71c054b7befed2f7da5f85b Status: Downloaded newer image for mysql:5.7.22 Pulling wordpress (wordpress:latest)... latest: Pulling from library/wordpress b4d181a07f80: Pull complete 78b85dd8f014: Pull complete 8589b26a90be: Pull complete f5af5d641946: Pull complete 614ec6f0b8d6: Pull complete 12b28f3797fb: Pull complete 96bcb7d2e6b0: Pull complete 09a46dfaa772: Pull complete 1a85b508a14e: Pull complete c6fd9c89235a: Pull complete 40b955b2d455: Pull complete fda03b9af7e2: Pull complete 570ea029c915: Pull complete a3f5858f9e8b: Pull complete e563e5b2630b: Pull complete 10499c79181c: Pull complete 7180626436df: Pull complete 72df520dac82: Pull complete ed2d407056b5: Pull complete 7224b35f0930: Pull complete 7bf10a169530: Pull complete Digest: sha256:0a2b70369b24a45802e33d5870638bac3c7f289dfcb0d0a9b6e9990c0a217c27 Status: Downloaded newer image for wordpress:latest Creating 1306networksindockercompose_db_1 ... done Creating 1306networksindockercompose_wordpress_1 ... done root@leandro:/home/leandro#
Podemos ir direto ao navegador e conferir se tudo deu certo, mas antes vamos conhecer o comando docker-compose ps que lista os contêineres da stack em execução. Um detalhe fundamental é que todos os comandos do Docker compose precisam ser executados no mesmo diretório em que está o arquivo docker-compose.yml ou não funcionará. Se tudo tiver sido executado com sucesso você terá uma saída no terminal similar à mostrada abaixo:
root@leandro:/home/leandro# docker-compose ps Name Command State Ports --------------------------------------------------------------------------------------------------------------------------- 1306networksindockercompose_db_1 docker-entrypoint.sh mysql ... Up 0.0.0.0:3308->3306/tcp,:::3308->3306/tcp 1306networksindockercompose_wordpress_1 docker-entrypoint.sh apach ... Up 0.0.0.0:80->80/tcp,:::80->80/tcp root@leandro:/home/leandro#
Se o estado contêiner for igual a up então significa que está funcionando. Agora vamos ao browser no endereço http://localhost/, você provavelmente verá uma imagem similar a abaixo:
Pronto subimos uma stack com WordPress e MySQL usando o Docker Compose. Se você prosseguir verá que é uma instalação e configuração de um blog exatamente igual ao WordPress tradicional. Agora vamos conhecer o comando docker-compose down responsável por interromper a stack inteira. No nosso exemplo isso não fica muito evidente, mas imagine interromper uma stack com dezenas de contêineres usando o comando docker stop. Não preciso nem dizer que é praticamente inviável e é exatamente por isso que existe o comando docker-compose down. Dito isto vamos encerrar a nossa stack, pra isso digite o comando docker-compose down:
root@leandro:/home/leandro# docker-compose down Stopping 1306networksindockercompose_wordpress_1 ... done Stopping 1306networksindockercompose_db_1 ... done Removing 1306networksindockercompose_wordpress_1 ... done Removing 1306networksindockercompose_db_1 ... done Removing network 1306networksindockercompose_wordpress-network root@leandro:/home/leandro#Se tudo correr bem você verá uma saída similar à acima. Note que além de parar os contêineres o Docker Compose também interrompe a rede. Bom por esse post é isso e se você quer se tornar um verdadeiro ninja Docker e conhecer mais sobre Docker e Docker Compose eu recomendo baixar o meu e-Book gratuito Docker um guia Rápido e dar uma conferida numa playlist sobre o tema no meu canal no Youtube.
Bom por esse post é isso a gente se vê no próximo post!!!