Como dito anteriormente na introdução ao Docker, é possível criar imagens livremente utilizando o Docker.
Em alguns casos de uso, é interessante ter uma imagem base para o projeto, já com todas as dependências de software necessárias para rodá-lo.
Como por exemplo, a imagem docker do laboratório GQS para o projeto CodeMaster, que é uma imagem que contém todos os conteúdos de software necessários para rodar o projeto.
Ter esta imagem não ajuda apenas no fluxo de CI/CD, mas também pode auxiliar o desenvolvimento da aplicação, pois desenvolvedores podem utilizá-la no desenvolvimento.
Para fazer o upload da imagem, o laboratório GQS possui um perfil para guardar todas as imagens do laboratório, disponível em https://hub.docker.com/u/gqsufsc.
O desenvolvedor precisará logar na conta do GQS, montar a imagem, e fazer o upload dela.
Ele poderá também solicitar a um administrador para que ele realize o upload!.
Para fazer isso, o desenvolvedor precisará seguir os seguintes passos:
-
Clonar o projeto https://codigos.ufsc.br/gqs/ci-cd-gqs e adicionar um novo arquivo Dockerfile.
-
Escrever a lógica necessária para preparar a imagem neste Dockerfile, com base no que foi explicado na introdução ao Docker. Para este passo, o desenvolvedor poderá utilizar como base (no comando
FROM
) uma das imagens base do laboratório GQS.
Pois o laboratório já contém uma série de imagens pré-prontas que pode ser úteis como ponto de partida para criar uma imagem nova. -
Fazer login no docker, executando o comando
sudo docker login -p {SENHA} -u {USUARIO}
;
Nota: Conseguir o usuário e senha do docker-hub do GQS com o administrador do laboratório! -
Construir a imagem docker:
sudo docker build --rm -t gqsufsc/my-image:latest .
;
Aondemy-image
é o nome que o desenvolvedor quer dar para a imagem. -
Fazer push da imagem:
sudo docker push gqsufsc/my-image:latest
. -
Integrar este novo Dockerfile na branch
main
do projeto https://codigos.ufsc.br/gqs/ci-cd-gqs
Após isso, o desenvolvedor poderá buscar essa imagem em dockerfiles ou na própria pipeline de CI/CD.
É importante também, na página da sua imagem, adicionar um README
explicando a sua finalidade e seus componentes! (Se basear nas imagens já existentes para exemplo)