Prática de DevOps com Docker
  • Prática de DevOps com Docker
  • Autores e Agradecimentos
  • Uso do Livro
  • Contribua com o Livro
  • Licença
  • Organização do Livro
  • 1. Introdução
    • 1.1 - Máquinas Virtuais e Contêineres
    • 1.2 DevOps e Docker
    • 1.3 Configuração do Ambiente
  • 2. Produção
    • 2.1 Produção: o fim ou o início?
    • 2.2 Ambiente de Produção
    • 2.3 Instalação do Servidor de Banco de Dados
    • 2.4 Instalação do Servidor de Web
  • 3. Monitoramento
    • 3.1 Introdução
    • 3.2 Configurando o Servidor de Monitoramento
    • 3.3 Monitorando Servidores do Ambiente de Produção
    • 3.4 Comandos de Verificação do Nagios
    • 3.5 Criando Verificações Mais Específicas
    • 3.6 Criando Alertas
    • 3.7 Recuperando de Problemas
  • 4. Infraestrutura como Código e Orquestração
    • 4.1 Introdução
    • 4.2 Orquestração com Docker Compose
  • 5. Integração Contínua
    • 5.1 Introdução
    • 5.2 Controle de Versão
    • 5.3 Construindo o Projeto Utilizando Contêiner
    • 5.4 Garantindo Acesso de Desenvolvedor nas Plataformas por meio de Tokens
    • 5.5 Integrando GitLab e GitHub
    • 5.6 Pipeline de Integração Contínua com GitLab CI/CD
  • 6. Entrega Contínua
    • 6.1 Introdução
    • 6.2 Personalizando Imagem Docker
    • 6.3 Personalizando Imagem do Servidor Web via GitLab CI/CD
    • 6.4 Atualizando o Servidor Web no Ambiente de Produção
  • 7. Deploy na Nuvem
    • 7.1 Introdução
    • 7.2 Configurando o ambiente local de desenvolvimento
    • 7.3 Conhecendo os recursos e conceitos do Kubernetes
    • 7.4 Entendendo o Chart
    • 7.5 Configurando o Jib
    • 7.6 Definindo o chart utilizado para execução local e na nuvem
  • 8. Conclusão
    • Conclusão
Powered by GitBook
On this page

Was this helpful?

  1. 6. Entrega Contínua

6.4 Atualizando o Servidor Web no Ambiente de Produção

Finalmente, para encerrar, resta apenas atualizar o ambiente de produção considerando a nova imagem aprovada e gerada pelo processo de CI/CD. Apesar de ilustrado aqui de forma manual, esse passo também poderia ser completamente automatizado e integrado ao CI/CD se estivéssemos utilizando a nuvem para executar nossa aplicação. AWS, Oracle, dentre outras empresas, possuem soluções específicas para se trabalhar com DevOps e Conteinerização, sendo soluções ideais para uso profissional de DevOps.

Assumindo que o sistema já havia sido colocado em execução com o comando docker-compose up -d

$ cd ~/temp/devops-extra/cap-06
$ docker-compose up -d
Starting cap06_db_1 ... 
Starting cap06_db_1 ... done
Starting cap06_web_1 ... 
Starting cap06_web_1 ... done
Starting cap06_monitor_1 ... 
Starting cap06_monitor_1 ... done

$ docker-compose logs
...

A situação atual do mesmo é como apresentada abaixo:

$ docker ps -a
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS                    NAMES
b61cd2b69a74        aurimrv/nagios-server-img   "/usr/local/bin/star…"   28 minutes ago      Up 28 minutes       0.0.0.0:80->80/tcp       cap06_monitor_1
4e9f13249bb3        aurimrv/tomcat-server-img   "catalina.sh run"        29 minutes ago      Up 28 minutes       0.0.0.0:8080->8080/tcp   cap06_web_1
18e9db762aa1        aurimrv/mysql-server-img    "docker-entrypoint.s…"   29 minutes ago      Up 29 minutes       0.0.0.0:3306->3306/tcp   cap06_db_1

Ou seja, o sistema está operacional com três contêineres operando normalmente. Para interromper e subir novamente apenas o Servidor Web, os seguintes comandos podem ser utilizados.

Inicialmente o contêiner referente ao Servidor Web é parado e removido. Em seguida elimina-se da máquina local a imagem salva anteriormente.

$ docker stop cap06_web_1
cap06_web_1

$ docker rm cap06_web_1
cap06_web_1

$ docker rmi -f $(docker images | grep tomcat | awk '{printf("%s ", $3)}')
Untagged: aurimrv/tomcat-server-img:latest
Untagged: aurimrv/tomcat-server-img@sha256:eeafad198331d2db31a0d456ce420f3cc0fe41bd37dfba8ca6ad40575208f0e6
Deleted: sha256:f05e5a08dca704855e2002c3941b9dd0f09a550e948f865d5620bfededb4f0c7
Deleted: sha256:3714a8ff5a7a6abf1c2251ed0ca0ee3f84f8bf0d21bfbc3317f16c2d3fc8b4b0
Deleted: sha256:f090ab1317004f1d2be52e4e4e90338d0d0fa27469a26ac44a32589f6c67c53c
Deleted: sha256:3d00c305ef194a0754fe70ecfa216ebc0ad707af1889f626d70302238ca00cfa
Deleted: sha256:a748c63e52ccd897ca6223bb21631355c8cdc7e3d10dd05e2cefdb7adb2eeae9
Deleted: sha256:2420fe490987b5d42f7373a08b5be4bc8ca5a0e74467f2dafb7bebf561743af5
Deleted: sha256:ac0e86280df5d162a457c51422fd5d0701a3ecd9711df4295735692fc9c9b3ca
Deleted: sha256:6cdbadf9a6cd462841ec7f4aff991f3961cb11b9687c5bfa0ffe99262892f4e8
Deleted: sha256:e6e18f9081aeacce4971dd685a7ee27b41ef8a4bf3229957d0ad5b58b399eeb1
Deleted: sha256:f4917110d4195c5ad9c7f328afcf416dc5ed1cea377a718ac1f9268c160f3943
Deleted: sha256:f40370342e4aedb1e1623924089468a7c0db1d99916759e0f981928399478fb5
Deleted: sha256:254cf71da09bbc16e304f925dee4270ac9069649dee8576423a6a77186ee0061
Deleted: sha256:3383e45b22b2b665b1a2604e375c1e7dc007c540e77d6367b1d7ba79ef0030d8
Deleted: sha256:d5d618196ec30fcdba1d210f135b4911b9dbdc79fdd729a9a9c3683a6a9b9308
Deleted: sha256:4bb57adf9037e4da45f2dbc0f84a7e9d8da6847bef3e63d09c8a9d8465f4d2c6
Deleted: sha256:5173011923d00f0fe606ecceda93ea88f17dc77e0b026df802c9aeb31bc1eac6
Deleted: sha256:9780f6d83e45878749497a6297ed9906c19ee0cc48cc88dc63827564bb8768fd
$ docker-compose up -d
Pulling web (aurimrv/tomcat-server-img:latest)...
latest: Pulling from aurimrv/tomcat-server-img
e4c3d3e4f7b0: Pull complete
101c41d0463b: Pull complete
8275efcd805f: Pull complete
751620502a7a: Pull complete
a59da3a7d0e7: Pull complete
5ad32ac1e527: Pull complete
50f250ce9768: Pull complete
621556868511: Pull complete
435fc158b2bb: Pull complete
e6136b360509: Pull complete
17e78f8c3154: Pull complete
6ad852fb545d: Pull complete
fa4aac5c4b92: Pull complete
a674cb209ef6: Pull complete
1acdc631acc2: Pull complete
8cd46f4889be: Pull complete
Digest: sha256:eeafad198331d2db31a0d456ce420f3cc0fe41bd37dfba8ca6ad40575208f0e6
Status: Downloaded newer image for aurimrv/tomcat-server-img:latest
cap06_db_1 is up-to-date
Creating cap06_web_1 ... 
Creating cap06_web_1 ... done
Recreating cap06_monitor_1 ... 
Recreating cap06_monitor_1 ... done

Desse modo, após parar e remover a instância anterior da imagem do Servidor Web, inicializam-se novamente os serviços com o docker-compose up -d. Como os Servidores de Banco de Dados e de Monitoramento não foram interrompidos, apenas o Servidor Web terá sua instância restabelecida a partir da nova imagem do Hub Docker.

Previous6.3 Personalizando Imagem do Servidor Web via GitLab CI/CDNext7.1 Introdução

Last updated 4 years ago

Was this helpful?