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
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.
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.