Docker - Obtenha contêineres de seus aplicativos.

O Docker é uma ferramenta projetada para facilitar a criação, implantação e execução de aplicativos usando contêineres. Os recipientes/contêineres permitem que um desenvolvedor empacote um aplicativo com todas as peças que ele precisa, como bibliotecas e outras dependências, e envie tudo como um pacote. Ao fazê-lo, graças ao recipiente, o desenvolvedor pode ter certeza de que o aplicativo será executado em qualquer outra máquina Linux, independentemente de quaisquer configurações personalizadas que a máquina possa ter.

Docker está disponível em duas edições: Community Edition (CE) e Enterprise Edition (EE). Neste post utilizaremos a edição CE, a versão CE é indicada para desenvolvedores e pequenas equipes que procuram iniciar com Docker e experimentar aplicativos baseados em contêiner.

Neste post vamos aprender a realizar a instalação do Docker e de dois contêineres, o Wordpress e o MariaDB.

Instalação

Requerimentos: GNU/Linux Debian 64Bits

O Docker possui dois canais de atualização, o Stable, para atualizações a cada trimestre e o Edge para atualizações mensais.

Nossa instalação será por meio do repositório oficial:

Versão Jessie ou mais recente:

Inicialmente instale os pacotes para permitir adicionar o repositório em HTTPS.

# apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

Agora importe a chave pública e verifique a impressão digital 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88, procurando os oitos últimos caracteres:

# curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg  apt-key add -
# apt-key fingerprint 0EBFCD88

Adicione o repositório:

# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") $(lsb_release -cs) stable"

Atualize e instale o Docker CE:

# apt update
# apt-get install docker-ce

Agora verificamos o status do serviço:

# /etc/init.d/docker status

Nossa instalação foi realizada com sucesso. Em sistemas em produção, não é aconselhável instalar a última versão, para instalar uma versão específica teremos que verificar as versões disponíveis com o comando abaixo:

# apt-cache madison docker-ce

Por exemplo, para instalar a versão 17.09.0, executaremos o seguinte comando:

# apt-get install docker-ce=17.09.0~ce-0~debian

Instalando contêineres

Para encontrar as imagens do aplicativos nos repositórios do Docker, podemos realizar uma busca por linha de comando ou acessar o site https://hub.docker.com/.  No exemplo abaixo realizamos a busca pelo aplicativo Wordpress, que é um sistema de gerenciamento de conteúdo para a web.

# docker search wordpress

No resultado da busca aparecerá vários resultados, no nosso caso realizaremos a instalação do repositório marcado como Official.


Para visualizar todas as opções disponíveis para o comando docker, execute o comando:

# docker --help

Para instalar a imagem do Wordpress procedemos com a execução do seguinte comando:

# docker pull wordpress

Para que o nosso aplicativo funcione corretamente precisamos de um gerenciador de Banco de dados, e neste tutorial instalaremos o MariaDB. Para instalar procederemos da mesma forma.

# docker pull mariadb

Podemos confirmar a instalação das imagens listando com o comando:

# docker images

Para iniciarmos o contêiner instalado é necessário passar parâmetros na inicialização, segue os comandos:

# docker run --name mariadb-tutorial -e MYSQL_ROOT_PASSWORD=123 -e MYSQL_DATABASE=wordpress -d mariadb
# docker run --name wordpress-tutorial --link mariadb-tutorial -p 80:80 -d wordpress

Os comandos foram iniciados na sequência para que o contêiner Wordpress possa encontrar o link do contêiner MariaDB. Ainda podemos listar os contêineres e verificar se foram iniciados:

# docker ps

Podemos acessar ao shell do MariaDB no contêiner diretamente com o comando abaixo, caso precise realizar alguma alteração no banco:

# docker exec -it mariadb-tutorial mysql -u root -p

Enter password:

Agora, acessamos o endereço do nosso servidor Debian pelo navegador e damos inicio ao processo de instalação do Wordpress.

Nesta configuração os contêineres estão em uma rede interna, na imagem acima, no campo Database Host informamos o IP da rede interna do contêiner MariaDB. Após isso basta iniciar o processo de instalação. Para facilitar a localização das configurações dos contêineres podemos executar o seguinte comando:

# docker network inspect bridge  grep -A 15 Containers

Bom chegamos a fim de mais um tutorial, vamos tratar de mais assuntos relacionados ao Docker em futuros posts. Até a próxima.