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. 2. Produção

2.2 Ambiente de Produção

Previous2.1 Produção: o fim ou o início?Next2.3 Instalação do Servidor de Banco de Dados

Last updated 4 years ago

Was this helpful?

Nessa seção, será apresentada uma forma de, utilizando contêineres Docker, nós instanciarmos cada um dos servidores necessários para o funcionamento da aplicação. Há inúmeras maneiras de fazermos isso com a tecnologia Docker. Vamos iniciar com uma mais simples e mais fácil de colocar em execução. Posteriormente, nos capítulos mais adiante, utilizaremos recursos mais avançados para o gerenciamento e instanciação dos diversos contêineres que compõem não apenas o ambiente de produção, mas todos os demais ambientes necessários para colocar o DevOps em prática.

Nesse ponto, assume-se que o Docker já está instalado e que você conseguiu executar com sucesso o Hello-World do Docker, apresentado no Capítulo 1, Seção 1.3.

O próximo passo aqui criarmos as imagens para os nossos Servidores Web e BD utilizando Docker. O primeiro passo para isso é pesquisar no pelas imagens já disponíveis e ver se tem alguma que nos atenda. Nesse repositório há imagens de diferentes tipos e pode ser que uma delas seja adequada para a nossa realidade.

Uma forma de consultar por imagens de nosso interesse é utilizando o comando abaixo:

docker search tomcat

Como resultado desse comando, o Docker nos mostra todas as imagens presentes no Docker Hub que contém o termo tomcat. Um exemplo de parte da saída resultante é mostrado abaixo:

auri@amrv:~$ docker search tomcat
NAME                          DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
tomcat                        Apache Tomcat is an open source implementati…   2827                [OK]                
tomee                         Apache TomEE is an all-Apache Java EE certif…   83                  [OK]                
dordoka/tomcat                Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base…   55                                      [OK]
bitnami/tomcat                Bitnami Tomcat Docker Image                     36                                      [OK]
kubeguide/tomcat-app          Tomcat image for Chapter 1                      29                                      
...

Observe que o primeiro delas é uma máquina oficial do Apache Tomcat e, daremos preferência a ela. O mesmo pode ser feito para a consulta de uma imagem com o MySQL.

auri@amrv:~$ docker search mysql
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   9965                [OK]                
mariadb                           MariaDB is a community-developed fork of MyS…   3645                [OK]                
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   725                                     [OK]
percona                           Percona Server is a fork of the MySQL relati…   509                 [OK]                
centos/mysql-57-centos7           MySQL 5.7 SQL database server                   83                                      
mysql/mysql-cluster               Experimental MySQL Cluster Docker images. Cr…   75                                      
centurylink/mysql                 Image containing mysql. Optimized to be link…   61                                      [OK]
...

Observem que há também uma imagem pronta oficial com o MySQL já instalado. Faremos uso dessa também para criar o ambiente de produção de nossa aplicação.

Na documentação de ambos os contêineres vemos que há várias versões dos mesmos disponíveis e, nesse caso, podemos escolher aquela que é mais adequada para a execução de nossa aplicação e mostraremos isso nas seções a seguir.

Além do comando docker search, é possível também consutlar imagens diretamente no Docker Hub. Por exemplo, nesse link , você tem acesso à documentação da imagem do Tomcat e nesse do MySQL. Recomenda-se a leitura do documentação para compreender as diferentes formas de uso dos contêineres.

Docker Hub
https://hub.docker.com/_/tomcat
https://hub.docker.com/_/mysql