No post passado, passei os conceitos simples de docker. Hoje irei demonstrar como montar seu primeiro container. Antes de tudo, se ainda não estiver o Docker Desktop (Community Edition), faça o download a partir deste link e realize a instalação (é necessário criar uma conta de acesso ao dockerhub e se for Sistema Operacional ser Windows 10 ou MacOS). Deixo também um link para leitura da diferença entre as versões Docker Community Edition — Docker CE e Docker Enterprise Edition — Docker EE escrito pelo Robert Silva da JLCP.

Após o processo de instalação, você poderá ver o ícone do docker do lado direito e com o status “Docker Status is running”. Você pode agora abrir uma instancia do terminal e executar docker –version se a saída for parecida com esta, Docker version 19.03.5 , build 633a0ea (versão mais recente), seu docker estará rodando normalmente e pronto para uso.

docker pull / docker image

Antes de começar, devemos baixar nossa primeira imagem, um container precisa de uma imagem para poder iniciar, claro no momento em que inicia um container, se ele não encontra a imagem local, ele pesquisa a última versão (latest) no registry (local ou docker hub), mas iremos começar fazendo todo o trabalho manual para entender o processo.

No repositório do Docker Hub, há diversas imagens, tanto oficiais, quando customizadas pela comunidade, você pode pesquisar pelo site uma imagem que precisa.

https://hub.docker.com/_/nginx

Ou utilizar o próprio cli do docker para realizar esta consulta. Através do comando:

Obs: Nginx para quem não conhece, é um servidor muito leve HTTP, proxy reverso e proxy de email IMAP/POP3, consumindo menos memória que o apache e conseguindo atender requisições web de forma mais ágil que seu principal concorrente.

Após localizar a imagem, podemos realizar o download através do comando docker pull nome:image. No terminal digite:

Como não especificamos uma TAG, ele irá baixar a versão mais recente conhecida no, repositório. Quando queremos baixar uma versão especifica, utilizamos estas tags, todas elas estão disponíveis na aba Tags no docker hub, para identificar basta verificar que no nome estará separado por pois pontos, Ex: nginx:1.17.8

Quando o receber a mensagem “Pull Complete” na tela, o download já estará concluído. Para verificar as imagens no seu repositório local, basta digitar docker image ls. Na tela será apresentado o nome na coluna repositorio, tag, uma ID unica de identificação, data de criação/atualização e seu tamanho.

Pronto, nesse momento já estaremos prontos para poder iniciar o container.

docker container

Ainda no terminal, iremos iniciar um container a partir da imagem nginx que está no nosso repositório.

Após ter iniciado, será apresentado um ID único para identificação do container em execução e após isso, você poderá ir no seu navegador web e acessar a url http://localhost:8080

Seu primeiro container estará sendo executado com sucesso.

A sintaxe do comando executado é a seguinte: docker container run <OPTIONS> <IMAGEM:TAG>

docker — especifica que irá chamar o utilitário docker-cli, faz conexão direta com a api do docker;

container — qual a função do docker-cli irá utilizar, pode descobrir todas utilizando docker –help;

run — Quando utilizado o comando run, você irá informar a API que deseja executar um novo container;

-d — Informa que irá executar um novo container no modo detached, isso significa que o container irá rodar em segundo plano, você não visualizará os logs e de inicialização e de processos, quando não usamos essa função, a tela do terminal fica “travada” para visualização dessas informações;

-p — Será com esse parâmetro, que informaremos qual porta será mapeada do container para o docker host. Nesse exemplo será mapeado a porta 80 do container para a porta 8080 do docker host. Caso deseja publicar mais de uma porta, basta executar novamente o –p. (A sintaxe é porta-docker-host =:porta-container )

--name — um nome para identificação do container “nginx-web”, quando é utilizado vários containers, essa identificação facilita.

nginx — por último, informamos qual a imagem que será utilizada para iniciar o container. Por boas práticas, é utilizado o formato {nome_organizacaoOUusuario}/{nome_imagem}:{versao}

Para mais informações, você poderá encontrar na documentação ou também utilizando a opção — help em cada comando.

Um ponto importante, é sempre acompanhar as imagens e os containers que estão sendo executados, dependendo do tamanho do ambiente que for administrar, ou até do laboratório, pode acabar perdendo o controle dos que estão sendo executados e das imagens que estão sendo utilizadas.

Para verificar quais containers estão em execução, basta utilizar o comando:

Também pode utilizar o comando “docker ps”.

Caso deseja parar o container, utilize:

Se tiver um container sem nome de identificação, basta utilizar a ID do container, ou os 4 primeiros dígitos da ID.

Quando um container é parado, ele não é excluído, incluindo seu volume e imagem utilizada, ainda continua disponível caso queira utilizar posteriormente. Para visualizar, basta utilizar a opção “ps –a”.

Para remover este container, basta usar a opção rm

Quando um container é removido, a imagem continua disponível para ser utilizar em outro, para remover a imagem, basta usar também o rmi, porem com a opção de image.

Por boas práticas é sempre recomendável utilizar as imagens oficiais publicadas no Docker Hub, ou usar aquelas que possuem maior número de downloads, que são bem documentadas e atualizadas. É uma maneira rápida e pratica para testar novas funcionalidades ou aplicações. Tem opção de poder criar suas próprias imagens, em breve estarei publicando um outro post sobre.

Até breve!!

Monitoring, DevOps Student and content creation!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store