|
|
Como dito anteriormente na [introdução ao Docker](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](https://hub.docker.com/r/gqsufsc/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.<br>
|
|
|
Ele poderá também **solicitar a um administrador para que ele realize o upload!**.
|
|
|
|
|
|
Para fazer isso, o desenvolvedor precisará seguir os seguintes passos:
|
|
|
|
|
|
1. [ter o docker instalado na máquina](https://www.docker.com/products/docker-desktop/)
|
|
|
|
|
|
2. Criar um arquivo `Dockerfile` em qualquer lugar da máquina do desenvolvedor
|
|
|
|
|
|
3. Escrever a lógica necessária para preparar a imagem, com base no que foi explicado na [introdução ao Docker](introdução-ao-docker).
|
|
|
Para este passo, o desenvolvedor poderá utilizar como base (no comando `FROM`) uma das [imagens base do laboratório GQS](https://hub.docker.com/u/gqsufsc).<br>
|
|
|
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.
|
|
|
|
|
|
4. Fazer login no docker, executando o comando `sudo docker login -p {SENHA} -u {USUARIO}`;<br>
|
|
|
**Nota:** Conseguir o usuário e senha do docker-hub do GQS com o administrador do laboratório!
|
|
|
|
|
|
5. Construir a imagem docker: `sudo docker build --rm -t gqsufsc/my-image:latest .`;<br>
|
|
|
Aonde `my-image` é o nome que o desenvolvedor quer dar para a imagem.
|
|
|
|
|
|
6. Fazer push da imagem: `sudo docker push gqsufsc/my-image:latest`.
|
|
|
|
|
|
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](https://hub.docker.com/u/gqsufsc) para exemplo) |