Domine o Docker: 8 Comandos Essenciais para Iniciantes

Principais Pontos

  • Docker pull: Utilize este comando para obter imagens já construídas do Docker Hub ou de outros repositórios, eliminando a necessidade de configurações manuais.
  • Docker run: Inicie novos contêineres a partir de uma imagem. Empregue opções para execução em modo “detached” ou para manter o contêiner em atividade contínua.
  • Docker ps: Consulte a lista de contêineres Docker e seus respectivos detalhes, como o ID do contêiner, imagem, data de criação, status e portas alocadas.

Os contêineres Docker encapsulam configurações de aplicações em unidades que funcionam de forma consistente em qualquer ambiente.

O Docker disponibiliza uma gama de comandos para realizar diversas operações, como criar, executar, parar, remover e administrar contêineres Docker de maneira simplificada.

1. Baixando Imagens com Docker Pull

O comando `docker pull` permite baixar uma imagem Docker de um registro. O Docker Hub oferece uma vasta seleção de imagens pré-construídas, prontas para uso, dispensando configurações complexas.

Essas imagens podem servir como modelos para criar contêineres Docker para aplicações. Além disso, o comando `docker pull` permite baixar imagens armazenadas em qualquer repositório.

Para baixar imagens através do terminal, utilize a seguinte sintaxe:

docker pull [OPÇÕES] NOME[:TAG|@DIGEST]

Se a tag da imagem não for especificada, o Docker utilizará a tag padrão. Por exemplo, para baixar a imagem do Ubuntu, execute:

docker pull ubuntu

O resultado será semelhante a este:

Para verificar se a imagem foi baixada com sucesso, utilize o comando:

docker images

Você verá detalhes da imagem, como:

É possível baixar várias imagens simultaneamente utilizando a seguinte sintaxe:

docker image pull --all-tags ubuntu

Para explorar as opções de download de imagens, execute `docker image pull –help`.

2. Iniciando Contêineres com Docker Run

O comando `docker run` serve para iniciar um novo contêiner Docker a partir de uma imagem. Um contêiner é, essencialmente, uma instância de uma imagem em execução. É crucial ter contêineres com seu código para que sua aplicação funcione.

A sintaxe para iniciar um contêiner é:

docker run [OPÇÕES] IMAGEM [COMANDO] [ARGUMENTOS...]

Para garantir que o contêiner seja executado em segundo plano, utilize o modo “detached”. Por exemplo, para executar a imagem do Ubuntu em modo “detached”, execute:

docker run -d ubuntu:latest

Você verá um código no terminal, indicando o sucesso da operação. Exemplo:

8faa77f621f33473af6992c94a9e2d97c12b5c1d11a1c44897344ee862eec7e1

Contêineres normalmente são executados por um curto período e depois finalizam. Para manter um contêiner em execução contínua, utilize a opção `-t` ou `-tty`.

docker run -d -t ubuntu:latest

Você pode verificar os contêineres em execução com o comando `docker ps`. O contêiner do Ubuntu deve estar visível. Consulte também um guia prático sobre como executar o Ubuntu como um contêiner Docker.

Diversas opções estão disponíveis para nomear, adicionar volumes e configurar portas para o contêiner. Contêineres menores funcionam mais rapidamente do que contêineres maiores. É recomendável reduzir o tamanho das imagens utilizando imagens Alpine ou outros métodos.

Para conhecer as opções do `docker run`, execute `docker run –help`.

3. Listando Contêineres com Docker PS

O comando `docker ps` lista os contêineres Docker em execução no seu sistema, exibindo informações como o ID do contêiner, a imagem utilizada, a data de criação e o status. Também é possível visualizar o status do contêiner e as portas alocadas.

A sintaxe é:

docker ps [OPÇÕES]

Existem diversas opções para executar o comando, adaptando-o às suas necessidades. Utilize o comando `docker ps –help` para ver todas as opções.

Por exemplo, é possível executar contêineres em modo silencioso utilizando a opção `–quiet`, ou usar `–format` para exibir detalhes em um formato específico. Também é possível listar contêineres com a tag mais recente usando `–latest` ou contêineres de um tamanho específico com `–size` ou `-s`.

4. Parando Contêineres com Docker Stop

O comando `docker stop` interrompe um ou mais contêineres em execução. Essa ação pode ser necessária quando contêineres não estão em uso ou precisam ser atualizados.

A sintaxe é a seguinte:

docker stop [OPÇÕES] CONTÊINER [CONTÊINER...]

Para interromper o contêiner do Ubuntu, utilize o ID do contêiner:

docker stop 45404fe7b36e

O terminal exibirá o ID do contêiner que foi parado. Para confirmar a interrupção, execute `docker ps` para listar os contêineres em execução. O contêiner do Ubuntu interrompido não estará mais listado.

É possível interromper vários contêineres simultaneamente utilizando o seguinte comando:

docker stop 90148165353a 5f0de5ef4b2b

Para explorar as opções do `docker stop`, execute `docker stop –help`.

5. Reiniciando Contêineres com Docker Start

Contêineres interrompidos podem ser reiniciados utilizando a seguinte sintaxe:

docker start [OPÇÕES] CONTÊINER [CONTÊINER...]

Por exemplo, para reiniciar o contêiner do Ubuntu previamente interrompido, execute:

docker start 45404fe7b36e

O contêiner estará visível na lista de contêineres em execução, como ilustrado na imagem a seguir:

Para conhecer as opções do `docker start`, execute `docker start –help`.

6. Acessando Logs com Docker Logs

O comando `docker logs` auxilia na recuperação de logs gerados por um contêiner em execução, sendo útil para depuração, monitoramento e compreensão do comportamento dos contêineres. A sintaxe do comando é:

docker logs [OPÇÕES] CONTÊINER

Opções podem ser utilizadas para recuperar informações específicas dos contêineres, como detalhes de saída de fluxo e carimbos de data/hora. É possível filtrar logs e obter informações sobre atributos adicionais, como variáveis de ambiente.

Por exemplo, para recuperar logs com carimbos de data/hora do contêiner do Ubuntu, execute:

docker logs --timestamps 45404fe7b36e

Os carimbos de data/hora serão exibidos na saída:

2023-08-21T13:10:31.979307895Z root@45404fe7b36e:/# 2023-08-21T13:51:27.442944740Z root@45404fe7b36e:/#

Execute `docker logs –help` para aprender sobre outras opções.

7. Executando Comandos Dentro de Contêineres com Docker Exec

O comando `docker exec` permite executar comandos dentro de um contêiner. Com ele, é possível interagir com o processo de um contêiner em execução, acessando o shell para solucionar problemas e gerenciar seus contêineres.

A sintaxe é:

docker exec [OPÇÕES] CONTÊINER COMANDO [ARGUMENTO...]

Primeiramente, para executar o `docker exec` no contêiner do Ubuntu, certifique-se que o mesmo esteja em execução. Caso contrário, reinicie-o com `docker start [CONTÊINER]`.

Em seguida, execute o comando da seguinte forma:

docker exec -it 45404fe7b36 /bin/bash

O Docker abrirá um shell dentro do contêiner.

root@45404fe7b36e:/#

Dentro do shell, é possível executar outros comandos no contêiner.

8. Enviando Imagens para o Repositório com Docker Push

O `docker push` é um dos comandos Docker mais importantes. Ele permite enviar imagens de um sistema local para um repositório Docker online.

O armazenamento de imagens no Docker Hub oferece a vantagem de poder recuperá-las em qualquer lugar, permitindo o compartilhamento e a colaboração entre equipes.

A sintaxe para executar o comando é:

docker push [OPÇÕES] NOME[:TAG]

Para demonstrar o uso, envie a imagem do Ubuntu para o Docker Hub. É necessário ter uma conta cadastrada no Docker Hub.

Primeiro, faça login no seu mecanismo Docker no terminal. Em seguida, renomeie a imagem que deseja enviar com um novo nome que faça referência ao repositório online. Depois, envie a imagem renomeada para o Docker Hub. Você pode aprender mais sobre o processo de push hospedando uma aplicação no repositório Docker.

Comandos Avançados do Docker

O Docker oferece conceitos mais avançados como Docker Compose e Docker Swarm, ferramentas que auxiliam no gerenciamento da configuração de aplicações complexas com vários contêineres. Explore comandos associados a essas ferramentas para aprimorar suas habilidades no Docker.