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:
- {name}:{tag}
- tic/php-fpm:base
- tic/php-fpm:5.6
- tic/php-fpm:7.1
- tic/php-fpm:7.2
- jenkins/jenkins:jdk-8
- jenkins/php-fpm:base
- jenkins/php-fpm:5.6
- jenkins/php-fpm:7.1
- jenkins/nodejs:8
- jenkins/nodejs:9
- jenkins/nodejs:10
- jenkins/maven:3.5.3
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âmetroname
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âmetrouser
há dois hifens.