Como usar o comando docker container pause para suspender contêineres

DockerBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como usar o comando docker container pause para suspender contêineres em execução. Começaremos criando e executando um contêiner simples usando a imagem hello-world.

Em seguida, você praticará a pausa do contêiner em execução e verificará seu estado pausado. Finalmente, você aprenderá como despausar o contêiner para retomar sua execução. Este laboratório oferece uma introdução prática ao gerenciamento de estados de contêineres usando comandos Docker.

Criar e executar um contêiner simples

Nesta etapa, aprenderemos como criar e executar um contêiner Docker simples. Um contêiner é uma unidade padrão de software que empacota o código e todas as suas dependências para que o aplicativo seja executado de forma rápida e confiável de um ambiente de computação para outro.

Primeiro, precisamos baixar a imagem Docker que usaremos. Usaremos a imagem hello-world, que é uma imagem muito pequena projetada para demonstrar como o Docker funciona.

docker pull hello-world

Este comando baixa a imagem hello-world do Docker Hub para sua máquina local. Você deve ver uma saída indicando o progresso e a conclusão do download.

Agora que temos a imagem, podemos executar um contêiner com base nela.

docker run hello-world

Este comando cria um novo contêiner a partir da imagem hello-world e o executa. Ao executar este contêiner, ele imprimirá uma mensagem em seu terminal explicando que sua instalação do Docker está funcionando corretamente. Após imprimir a mensagem, o contêiner será encerrado.

Você deve ver uma saída semelhante a esta:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (Assuming it was not already locally available)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Esta saída confirma que você baixou e executou com sucesso seu primeiro contêiner Docker.

Pausar o contêiner em execução

Na etapa anterior, executamos um contêiner simples que foi encerrado imediatamente. Para demonstrar a pausa e a despausa, precisamos de um contêiner que permaneça em execução. Usaremos um contêiner ubuntu simples e o manteremos em execução em segundo plano.

Primeiro, vamos baixar a imagem ubuntu.

docker pull ubuntu

Este comando baixa a imagem ubuntu do Docker Hub.

Agora, executaremos um contêiner ubuntu no modo detached (-d) para que ele seja executado em segundo plano. Também usaremos o comando tail -f /dev/null para manter o contêiner em execução indefinidamente.

docker run -d ubuntu tail -f /dev/null

Este comando exibirá o ID do contêiner. Copie este ID, pois precisaremos dele para pausar o contêiner.

<container_id>

Agora que temos um contêiner em execução, podemos pausá-lo usando o comando docker pause seguido pelo ID do contêiner.

docker pause <container_id>

Substitua <container_id> pelo ID real do seu contêiner Ubuntu em execução.

Este comando pausará todos os processos dentro do contêiner especificado. O contêiner ainda existirá, mas seus processos serão suspensos.

Verificar se o contêiner está pausado

Na etapa anterior, pausamos um contêiner em execução. Agora, vamos verificar se o contêiner está realmente em um estado pausado.

Podemos usar o comando docker ps para listar os contêineres em execução e verificar seu status.

docker ps

Este comando mostrará uma lista dos contêineres atualmente em execução. Se seu contêiner Ubuntu estiver pausado, ele ainda aparecerá nesta lista, mas seu status indicará que está pausado. Procure o ID do contêiner que você pausou na etapa anterior.

A saída deve mostrar seu contêiner com um status como Up ... (Paused).

Alternativamente, você pode usar o comando docker container inspect para obter informações detalhadas sobre um contêiner específico, incluindo seu estado. Substitua <container_id> pelo ID real do seu contêiner Ubuntu pausado.

docker container inspect <container_id>

Este comando exibirá um grande objeto JSON contendo todas as informações de configuração e estado do contêiner. Você precisa procurar o campo "State" dentro desta saída.

Para verificar especificamente se o contêiner está pausado usando docker container inspect, você pode filtrar a saída usando ferramentas como grep.

docker container inspect <container_id> | grep Paused

Se o contêiner estiver pausado, este comando exibirá uma linha semelhante a "Paused": true,. Isso confirma que o estado do contêiner está realmente pausado.

Retomar a execução do contêiner

Na etapa anterior, verificamos que nosso contêiner Ubuntu estava pausado. Agora, vamos despausá-lo e retomar sua execução.

Usamos o comando docker unpause seguido pelo ID do contêiner para despausar um contêiner. Substitua <container_id> pelo ID real do seu contêiner Ubuntu pausado.

docker unpause <container_id>

Este comando retomará todos os processos dentro do contêiner especificado que foram suspensos quando ele foi pausado.

Após despausar o contêiner, você pode verificar seu status novamente usando o comando docker ps.

docker ps

Desta vez, a saída para seu contêiner Ubuntu deve mostrar um status como Up ... sem o indicador (Paused). Isso confirma que o contêiner agora está sendo executado normalmente novamente.

Finalmente, para limpar, você pode parar e remover o contêiner. Primeiro, pare o contêiner:

docker stop <container_id>

Em seguida, remova o contêiner:

docker rm <container_id>

Esses comandos pararão o contêiner em execução e, em seguida, o removerão do seu sistema.

Resumo

Neste laboratório, aprendemos como usar o comando docker container pause para suspender contêineres. Começamos criando e executando um contêiner simples usando a imagem hello-world, o que demonstrou o processo básico de pulling (puxar) uma imagem e executar um contêiner.

Após a criação e execução de um contêiner, exploramos como pausar um contêiner em execução usando o comando docker container pause e verificamos seu estado pausado. Finalmente, aprendemos como retomar a execução do contêiner usando o comando docker container unpause.