Tabela de conteúdos

Ambiente Docker / Integração Contínua

Introdução

Para permitir melhor integração entre as equipes de desenvolvimento e de servidores da UFRJ, foram criadas imagens de contêineres com ambientes para a execução de aplicações com as linguagem utilizadas pela instituição.

Com esses contêineres, as equipes podem trabalhar em ambientes espelho, melhorando essa integração.

Este documento foi formulado utilizando-se uma estação de trabalho com o S.O. Ubuntu 18.04.

Construindo o ambiente


Inicialmente, deve-se clonar as imagens que estão disponíveis em git@git.ufrj.br:andrerodrigues/docker.git.

$ git clone git@git.ufrj.br:andrerodrigues/docker.git

$ git clone git@git.ufrj.br:CI-CD/docker-tic.git

Acessando o diretório do projeto, neste caso, com o nome de docker, dentro do diretório tic podem ser encontradas as imagens, como no exemplo a seguir:


Em seguida, deve-se construir as imagens que são utilizadas nos ambientes da UFRJ, a fim de manter integridade entre ambientes e análise de futuros problemas de compatibilidade. (Veja mais):

Foi criado um arquivo bash para a criação dos containeres de forma automática. Acessando o diretório com os arquivos fonte, basta executar:

$ sudo ./compilando_imagens.sh

Serão criadas as seguintes imagens:

A estrutura de dependência das imagens segue este padrão:

Para visualizar as imagens presentes na estação de trabalho, executa-se (Veja mais):

$ docker images


Em seguida, deve-se construir a imagem base através do comando (Veja mais):

sudo docker build -t tic/php-fpm:base tic/php-fpm-base

Em seguida, deve-se construir a imagem desejada através do comando (Veja mais):

docker build -t {name}:{tag} tic/{image}

Exemplo:

docker build -t tic:php-fpm-7.1 tic/php-fpm-7.1-pg


Por conseguinte, executa-se o contêiner com o comando:

docker run -itd –name={docker_name} -v {/path/to/project}:/var/www {name}:{tag}

Exemplo:

docker run -itd –name=php71 -v /Documentos/UFRJ/Projetos/DEV:/var/www tic/php-fpm:7.1

Note que antes do parâmetro name há dois hifens.

Agora, os projetos em desenvolvimento estão em /Documentos/UFRJ/Projetos/DEV neste exemplo.

Para acessar o ambiente via terminal, usa-se (Veja mais):

docker exec -it –user root {name} bash

Exemplo:

docker exec -it –user root php71 bash

Note que antes do parâmetro user há dois hifens.