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.