containers4noobs

Containers4Noobs

⬅️ Voltar

Usando Docker

Aqui os comandos tem a intenção de operar sem a necessidade de ter permissões de administrador.

Sempre que você tiver dúvida, a forma mais direta de acessar o “manual” do Docker é usando o comando:

$ docker --help

Irá retornar uma lista de opções disponíveis do docker.

Rodando seu primeiro container

Aqui irá depender de qual imagem você baixou. O comando docker run necessita de alguns parâmetros específicos para cada imagem baixada (ex: porta onde a imagem será disponibilizada, nome do container, como será inicializada a imagem, diretório/volume da imagem).

Recorra a leitura da descrição do comando “docker run” ou ao nosso “Exemplos Úteis” para mais insights sobre o funcionamento do comando.

Abaixo vamos explicar o passo a passo do que será necessário para executar seu container.

  1. Baixe a imagem desejada:
$ docker pull docker.io/library/httpd
  1. Confira se a imagem foi baixada corretamente:
$ docker images

Você deverá ter um output similar a este:

REPOSITORY               TAG         IMAGE ID      CREATED       SIZE
httpd                    latest      359570977af2  13 days ago   168MB
  1. Vamos rodar um container com a imagem que acabamos de baixar e export o servidor http para que possamos acessar em nossa máquina:
$ docker run -dt --name meu-servidor-http -p 8080:80/tcp docker.io/library/httpd

💡 Você pode executar o comando acima diretamente, sem baixar a imagem, pois ele vai baixar a imagem automaticamente para você!

  1. Se tudo der certo você ver seu container rodando com o comando:
$ docker container ls

O output deverá ser algo similar a:

CONTAINER ID  IMAGE                           COMMAND           CREATED             STATUS                 PORTS                 NAMES
d2452bb8b3f2  docker.io/library/httpd:latest  httpd-foreground  About a minute ago  Up About a minute ago  0.0.0.0:8080->80/tcp  meu-servidor-http

Mas será que o servidor está rodando MESMO? Vamos conferir.

Vode pusar usar curl ou simplesmente acessar pelo seu navegador (http://localhost:8080)[http://localhost:8080].

$ curl http://localhost:8080

Se você usar o curl, o seu output deverá ser:

<html><body><h1>It works!</h1></body></html>

Da mesma forma essa página deve ser acessível pelo seu navegador. Parabéns! Você acabou de executar seu primeiro container.

Lista de comandos úteis

Listando containers em andamento:

$ docker container ls

Inspecionando containers em andamento

$ docker inspect <id_do_container_ou_imagem>

Mostrando logs do docker no terminal

$ docker logs <nome_ou_id_do_container>

Visualizando os PID’s dos containers

$ docker top <nome_ou_id_do_container>

Parando um container

$ docker stop <nome_ou_id_do_container>

Removendo um container inativo

$ docker rm <nome_ou_id_do_container>

Removendo um container ativo

$ docker rm -f <nome_ou_id_do_container>

Baixando imagens

$ docker pull docker.io/library/<imagem_desejada>

Após a conclusão do download da imagem, você pode visualizá-las com o comando:

Alguns exemplos úteis

Nesta seção serão listados alguns exemplos mais parecidos com a vida real que podemos utilizar no dia-a-dia.

Opções/flags do comando docker run que serão utilizadas nos exemplos abaixo

Executando o Nginx (webserver)

$ docker run -d --name meu-container-nginx -p 8080:80 nginx:alpine

Executando o Postgres (database)

$ docker run -d \
  --name my-postgres-container \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -e POSTGRES_USER=myuser \
  -e POSTGRES_DB=mydatabase \
  -p 5432:5432 \
  postgres:alpine
$ docker run -d \
  --name my-postgres-container \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -e POSTGRES_USER=myuser \
  -e POSTGRES_DB=mydatabase \
  -p 5432:5432 \
  -v /home/meuusuario/minhapastaquequeropersistirosdados:/var/lib/postgresql/data \
  postgres:alpine

Executando o Redis (database)

docker run -d –name my-redis-container -p 6379:6379 redis:latest

$ docker run -d --name my-redis-container -p 6379:6379 redis:latest