pythonlini1

Para conseguirmos brincar um pouco com os comandos do docker, temos duas opções:

  • Fazer a instalação do docker em seu computador
  • Utilizar Play With Docker, que é um playground interativo online para brincar e aplicar os comandos que veremos aqui! (Entrar no link e clicar em ADD NEW INSTANCE

Para iniciar nossa exploração, vamos checar se o docker está okay, utilizando o comando: docker version

O docker é uma implementação de virtualização de containers que vem conquistando cada vez mais espaço devido à computação em nuvem e um container é uma instância de uma Imagem em execução naquele momento.

Imagens

A imagem é como se fosse uma receita de bolo, uma série de instruções que o Docker seguirá para criar um container, que irá conter as instruções da imagem, do hello-world. Depois de buscar a receita do bolo, o container é criado e executado, e isso tudo pelo nosso comando docker run hello-world. Há milhares de imagens disponíveis para executarmos a nossa aplicação, elas ficam disponíveis no Docker Hub. Também podemos apenas baixar nossa imagem, sem executar nada, utilizando o comando docker pull hello-world.

Há milhares de imagens disponíveis para executarmos a nossa aplicação, elas ficam disponíveis no Docker Hub.

Exemplo a imagem do meu repositório: docker pull aliniribeiroo/mvcad docker-images Aqui o Docker baixou nossa imagem. Percebam que uma imagem é composta de várias camadas, por esse motivo teve que fazer vários Downloads/Pull

Listando imagens

Para listar todas as imagens podemos usar o comando: docker images O nome da imagem é exibido na coluna REPOSITORY, cada imagem tem um identificador único que é exibido na coluna IMAGE ID. A coluna TAG indica a “versão” da imagem. O latest quer dizer que é a última “versão” da imagem (a mais recente). docker-images

Executando Containers

Para executar um container podemos usar o comando: docker run --name mvcad -p 5000:5000 <nome da imagem> executando-containers

  • A tag “– –name” indica o nome que o seu container terá;
  • A tag “-p 5000:5000” é o bind de portas que será realizado entre sua-maquina:container, ou seja, a porta 5000 da minha máquina apontará para a porta 5000 do meu container. Você encontra mais detalhes na doc do docker.

Listando Containers

Para listar todos os containers que estão em execução, podemos usar o comando: docker ps docker-ps

Aqui temos informações sobre os containers em execução: ID, imagem base, comando inicial, há quanto tempo foi criado, status, quais portas estão disponíveis e/ou mapeadas para acesso e o nome do mesmo.
Quando não especificamos um nome ao iniciá-lo, será gerado um nome aleatoriamente. (Por isso usamos o comando --name quando rodamos o container anteriormente)
Para listar todos os containers que não estão em execução, podemos usar o comando: docker ps -a

Depois de criado, um container pode ser iniciado e parado com os comandos:

  • docker start <nome container>
  • docker stop <nome container>

Removendo Imagens e Containers

  • Para remover um container, podemos usar o comando: docker rm <nome ou id do container>
  • Para remover uma imagem, podemos usar o comando: docker rmi <nome ou id da imagem>

Dicas:

  • Podemos apenas utilizar os três primeiros números dos ids de uma imagem ou container.
    Exemplo: Container com o Nome mvcad e o id ef89121b54fc, podemos utilizar o comando: docker <ação> ef8
  • Para forçar a exclusão de uma imagem ou container, podemos utilizar a tag -f no comando:
    docker rmi -f 8ef
  • Para remover uma imagem, não pode haver nenhum container utilizando a mesma.

Criando Imagens

Uma imagem pode ser criada a partir de um arquivo de definição chamado de Dockerfile, nesse arquivo usamos algumas diretivas para declarar o que teremos na nossa imagem.
Lembra da nossa receita de bolo? é no Dockerfile que ela está escrita!

Depois de criar o arquivo Dockerfile, podemos construir nossa imagem com o comando: docker build -t <nome da imagem> . tips

  • “-t” é um parâmetro para informar que a imagem pertence ao meu usuário
  • ”.” Significa o diretório em que você está, pois executamos o comando docker build dentro da pasta onde o Dockerfile se encontra.

Para enviar uma imagem para o dockerhub, podemos construir nossa imagem com o comando: docker push <nome da imagem>

Espero que estes comandos sejam uteís para consulta para a alini e todos vocês do futuro!
Grande Abraço, A.R. 🙂