Antes da criação dos nossos primeiros containers, vamos realizar a instalação do noddo Docker no Linux
O comando curl -fsSL https://get.docker.com/ | sh
é utilizado para instalar o Docker em sistemas Linux, executando um script fornecido pelo Docker para uma instalação fácil e rápida. Vamos decompor o comando para entender cada parte dele:
curl
: É uma ferramenta de linha de comando usada para transferir dados de ou para um servidor. Neste caso, está sendo usado para baixar o script de instalação do Docker.
-fsSL
: São opções passadas para o comando curl
que modificam seu comportamento:
f
: Falha silenciosamente (sem saída) em erros de servidor HTTP (como 404).s
: Modo silencioso. Não mostra o progresso nem os erros. Isso é útil em scripts para evitar saídas desnecessárias.S
: Mostra um erro se o -s
(modo silencioso) estiver ativado, mas ocorreu um erro.L
: Se o servidor reportar que a página requisitada foi movida para outro local (indicado por um código de resposta 3xx), esta opção fará com que o curl
tente refazer a operação no novo local.https://get.docker.com/
: É a URL de onde o script de instalação do Docker é baixado. Esse script é mantido pelos desenvolvedores do Docker e é projetado para reconhecer a maioria das distribuições Linux e suas versões, aplicando a instalação adequada automaticamente.
|
: Este é o operador de pipe. Ele pega a saída do comando anterior (curl
) e a usa como entrada para o próximo comando (sh
).
sh
: É um comando que invoca o interpretador de comandos do shell. Neste contexto, ele executa o script baixado pelo curl
.
Ao executar este comando, o script baixado irá:
Este método de instalação é rápido e conveniente, mas é importante confiar na fonte do script, já que ele será executado com privilégios de administrador no seu sistema. O site oficial do Docker é considerado confiável para este propósito.
Teste sua instalação do Docker executando um contêiner hello-world
:
docker run hello-world
Baixe uma imagem, como o Ubuntu, do Docker Hub:
docker pull ubuntu
Crie e inicie um contêiner a partir da imagem baixada:
docker run -it ubuntu /bin/bash
Use para listar todos os contêineres ativos:
docker ps
Para ver todos os contêineres, ativos e inativos:
docker ps -a
Dentro do contêiner, digite para sair e parar o contêiner:
exit
Inicie um contêiner parado com:
docker start [NOME_OU_ID]
Pare um contêiner em execução com:
docker stop [NOME_OU_ID]
Para listar os IDs de todos os contêineres ativos:
docker ps -q
Para listar os IDs de todos os contêineres, ativos e inativos:
docker ps -aq
Para remover um contêiner:
docker rm [NOME_OU_ID]
Liste todas as imagens disponíveis:
docker images
Para remover uma imagem:
docker rmi [NOME_DA_IMAGEM]
docker container attach
O comando docker container attach
permite que você se conecte a um contêiner em execução, para que você possa interagir com ele através do terminal. Isso é útil para, por exemplo, ver o output de uma aplicação em execução ou interagir com um shell dentro do contêiner.
Certifique-se de ter um contêiner em execução. Se você não tiver um, pode iniciar um contêiner Ubuntu como exemplo:
docker run -dit --name meu-ubuntu ubuntu
Este comando irá iniciar um contêiner chamado meu-ubuntu
em modo 'detached' (em segundo plano) usando a imagem ubuntu
.
Para se conectar a este contêiner e interagir com seu terminal, use:
docker container attach meu-ubuntu
Após executar este comando, você será conectado ao terminal do contêiner. Qualquer coisa que você digitar aqui será executada dentro do contêiner.
Para se desconectar do contêiner sem pará-lo, você precisa usar a sequência de teclas Ctrl + P
, seguida por Ctrl + Q
. Essa ação irá devolvê-lo ao terminal do host, deixando o contêiner em execução em segundo plano.
exit
, o contêiner será parado. Para evitar isso e apenas se desconectar, use a sequência Ctrl + P
, Ctrl + Q
.-it
(interativa), você pode não conseguir interagir com ele da maneira esperada ao usar docker container attach
.Este exemplo demonstra um uso básico do docker container attach
para conectar a um contêiner em execução, permitindo a interação com o terminal do contêiner. Esse recurso é particularmente útil para desenvolvimento e depuração de aplicações em contêineres.
Vamos utilizar os comandos docker pause
e docker unpause
, que permitem pausar e retomar a execução de processos dentro de um contêiner Docker. Esses comandos são úteis para temporariamente liberar recursos do sistema sem precisar parar o contêiner completamente.
docker pause
e docker unpause
Primeiro, você precisa ter um contêiner em execução. Se não tiver um, crie e inicie um contêiner usando a imagem Ubuntu como exemplo:
docker run -dit --name meu-ubuntu ubuntu
Isso irá iniciar um contêiner chamado meu-ubuntu
em modo 'detached' (em segundo plano), utilizando a imagem ubuntu
.
Para pausar todos os processos em um contêiner ativo, use o comando docker pause
, seguido pelo nome ou ID do contêiner:
docker pause meu-ubuntu
Após executar este comando, o contêiner meu-ubuntu
estará pausado, significando que todos os seus processos estarão em espera e não utilizarão recursos do CPU. No entanto, o contêiner ainda estará em execução do ponto de vista do Docker, e seus recursos de memória continuarão alocados.
Você pode verificar o estado do contêiner usando docker ps
. Você verá que o contêiner ainda aparece como em execução, mas ele está, de fato, pausado.
Para retomar a execução dos processos dentro de um contêiner pausado, use o comando docker unpause
, seguido pelo nome ou ID do contêiner:
docker unpause meu-ubuntu
Isso irá retomar a execução do contêiner meu-ubuntu
, permitindo que seus processos continuem de onde pararam.
docker pause
e docker unpause
são particularmente úteis para gerenciar recursos do sistema de forma dinâmica, permitindo que você pausar temporariamente contêineres que estão consumindo muitos recursos ou que precisam ser temporariamente suspensos por qualquer razão.Este exemplo demonstra um uso básico dos comandos docker pause
e docker unpause
para gerenciar a execução de contêineres, fornecendo uma maneira flexível de controlar recursos sem necessidade de parar e reiniciar contêineres.
O comando docker inspect
fornece informações detalhadas sobre objetos Docker, como contêineres, imagens, volumes e redes. Ao executá-lo, você recebe uma saída em formato JSON contendo uma riqueza de detalhes sobre a configuração e o estado do objeto especificado. Esse comando é extremamente útil para depuração e para automatizar tarefas com base em propriedades específicas dos objetos Docker.
docker inspect
Sintaxe Básica:
docker inspect [OPÇÕES] NOME|ID [NOME|ID...]
[OPÇÕES]
: Opções adicionais para o comando. Por exemplo, -f
ou --format
permite especificar um template de formatação para alterar a saída padrão.NOME|ID
: O nome ou ID do objeto Docker que você deseja inspecionar. Você pode especificar múltiplos nomes ou IDs separando-os com um espaço.Exemplos de Uso:
Inspecionar um Contêiner: Para ver informações detalhadas sobre um contêiner, use seu nome ou ID. Por exemplo:
docker inspect meu-ubuntu
Isso retornará informações detalhadas sobre o contêiner chamado meu-ubuntu
.
Inspecionar uma Imagem: Da mesma forma, você pode inspecionar uma imagem Docker:
docker inspect ubuntu
Isso mostrará informações sobre a imagem ubuntu
.
Formatar a Saída: Se você estiver interessado em uma informação específica, pode usar a opção --format
para extrair apenas os dados necessários. Por exemplo, para obter o endereço IP de um contêiner:
docker inspect --format='' meu-ubuntu
Usando docker inspect
, você pode acessar uma ampla gama de informações, como:
docker inspect
é uma ferramenta poderosa que oferece visibilidade sobre quase todos os aspectos dos objetos Docker. Seja você um desenvolvedor trabalhando para entender a configuração de um contêiner ou um administrador de sistema automatizando a implantação e a gestão de infraestrutura Docker, docker inspect
é uma ferramenta indispensável para obter informações detalhadas e precisas sobre os objetos Docker em seu ambiente.
Este roteiro oferece uma visão geral básica para começar a trabalhar com o Docker, abrangendo desde a instalação até a gestão básica de contêineres e imagens. Para informações mais detalhadas e avançadas, consulte a documentação oficial do Docker.