Pesquisa de site

Como instalar e usar o Docker no Ubuntu 20.04


Docker é uma plataforma de código aberto mais popular para desenvolvedores e administradores de sistema criarem, executarem e compartilharem aplicativos com contêineres. A conteinerização (o uso de contêineres para implantar aplicativos) está se tornando popular porque os contêineres são flexíveis, leves, portáteis, pouco acoplados, escaláveis e mais seguros.

Este artigo é um bom ponto de partida para iniciantes aprenderem como instalar e usar o Docker em um sistema Linux Ubuntu 20.04 com alguns comandos básicos. Para este guia, instalaremos o Docker Community Edition (CE).

Pré-requisitos:

  • Uma instalação do servidor Ubuntu 20.04.
  • Um usuário com privilégios para executar o comando sudo.

Instalando Docker no Ubuntu 20.04

Para usar a versão mais recente do Docker, iremos instalá-la a partir do repositório oficial do Docker. Então, comece adicionando a chave GPG do repositório oficial Docker ao seu sistema, depois disso adicione a configuração do repositório à fonte APT com o seguintes comandos.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Agora atualize o cache do pacote APT para incluir os novos pacotes Docker no sistema usando o seguinte comando.

sudo apt update

Em seguida, instale o pacote Docker conforme mostrado.

sudo apt install docker-ce

Durante o processo de instalação do pacote Docker, o instalador do pacote aciona o systemd (gerenciador de sistema e serviço) para iniciar e ativar automaticamente o serviço docker. Usando os comandos a seguir para confirmar se o serviço docker está ativo e habilitado para iniciar automaticamente na inicialização do sistema. Além disso, verifique seu status:

sudo systemctl is-active docker
sudo systemctl is-enabled docker
sudo systemctl status docker

Existem vários outros comandos systemctl para gerenciar e controlar o serviço docker, que incluem o seguinte:

sudo systemctl stop docker			#stop the docker service
sudo systemctl start docker			#start the docker service
sudo systemctl  restart docker		#restart the docker service

Para verificar a versão do Docker CE instalada em seu sistema, execute o seguinte comando:

docker version

Você pode visualizar os comandos de uso do docker disponíveis executando o comando docker sem nenhuma opção ou argumento:

 
docker

Gerencie o Docker como um usuário não root com o comando sudo

Por padrão, o daemon Docker se liga a um soquete UNIX (em vez de uma porta TCP) que pertence ao usuário root. Portanto, o daemon Docker sempre é executado como usuário root e para executar o comando docker, você precisa usar sudo.

Além disso, durante a instalação do pacote Docker, um grupo chamado docker é criado. Quando o daemon Docker é iniciado, ele cria um soquete UNIX acessível aos membros do grupo docker (que concede privilégios equivalentes ao usuário root).

Para executar o comando docker sem sudo, adicione todos os usuários não-root que deveriam acessar o docker, no grupo docker como segue. Neste exemplo, o comando adiciona o usuário atualmente conectado ($USER) ou nome de usuário ao grupo docker:

sudo usermod -aG docker $USER
OR
sudo usermod -aG docker username

Para ativar as alterações nos grupos, execute o seguinte comando:

newgrp docker 
groups

Em seguida, verifique se você pode executar comandos docker sem sudo. O comando a seguir baixa uma imagem de teste e a executa em um contêiner. Assim que o contêiner estiver em execução, ele imprime uma mensagem informativa e sai. Essa também é outra maneira de verificar se sua instalação está funcionando bem.

docker run hello-world

Trabalhando com imagens Docker

Uma imagem Docker é um arquivo de modelo somente leitura com instruções para criar um contêiner Docker. Você pode criar suas imagens personalizadas ou usar apenas aquelas criadas por terceiros e publicadas no Docker Hub, a maior biblioteca e comunidade do mundo para imagens de contêiner.

Você pode procurar uma imagem centos no Docker Hub com o seguinte comando:

docker search centos 

Para baixar uma imagem localmente, use o comando pull. Este exemplo mostra como baixar a imagem oficial do centos.

docker pull centos

Assim que o download for concluído, você poderá listar as imagens disponíveis em seu sistema local.

docker images

Se não precisar mais de uma imagem, você poderá removê-la do sistema.

docker rmi centos
OR
docker rmi centos:latest    #where latest is the tag

Executando e gerenciando contêineres Docker

Um contêiner Docker é um processo executado nativamente no Linux e compartilha o kernel da máquina host com outros contêineres. Em relação a uma imagem Docker, um contêiner é apenas uma imagem em execução.

Para iniciar um contêiner baseado em sua nova imagem centos, execute o seguinte comando onde “centos ” é o nome da imagem local e “cat /etc/centos-release ” é o comando a ser executado no contêiner:

docker run centos cat /etc/centos-release

Um contêiner executa um processo discreto que é isolado, pois possui seu próprio sistema de arquivos, rede e árvore de processos isolada separada do host. Observe que você pode manipular um contêiner usando o ID, o prefixo de ID ou o nome do contêiner, conforme mostrado abaixo. O processo de contêiner acima é encerrado após a execução do comando.

Para listar os contêineres do Docker, use o comando docker ps conforme a seguir. Use o sinalizador -l para mostrar o último contêiner criado em todos os estados:

docker ps
OR
docker ps -l

Para mostrar todos os contêineres, incluindo aqueles que já saíram, use o sinalizador -a.

docker ps -a

Você também pode iniciar um contêiner usando seu ID de contêiner após sua saída. Por exemplo, no comando anterior, nosso ID de contêiner é 94c35e616b91. Podemos iniciar o contêiner conforme mostrado (observe que ele executará o comando e sairá):

docker start 94c35e616b91

Para parar um contêiner em execução usando seu ID, use o comando stop conforme mostrado.

docker stop 94c35e616b91

O Docker também permite atribuir um nome a um contêiner usando a opção --name ao executá-lo.

docker run --name my_test centos cat /etc/centos-release
docker ps -l

Agora você pode usar o nome do contêiner para gerenciar (iniciar, parar, estatísticas, remover, etc.) o contêiner:

docker stop my_test
docker start my_test
docker stats my_test
docker rm my_test

Executando uma sessão interativa em um contêiner Docker

Para iniciar uma sessão de shell interativa em um contêiner para permitir a execução de comandos dentro do contêiner, execute o seguinte comando:

docker run --name my_test -it centos

No comando acima, as opções -it dizem ao Docker para alocar um pseudo-TTY conectado ao stdin do contêiner, criando assim um shell bash interativo no contêiner.

Você pode sair emitindo o comando exit conforme mostrado.

exit

Se preferir não sair, você pode desanexar de um contêiner e deixá-lo funcionando. Para fazer isso, use a sequência de teclas CTRL+p e depois CTRL+q.

Você pode se conectar novamente ao contêiner usando o comando attach, que anexará fluxos de entrada, saída e erros padrão locais ao contêiner em execução:

docker attach my_test

Além disso, você pode iniciar um contêiner em modo desanexado usando o sinalizador -d. Em seguida, use o comando attach para anexar os fluxos de entrada, saída e erros padrão do seu terminal ao contêiner em execução:

docker run --name my_test -d -it centos
docker attach my_test

Por último, mas não menos importante, você pode interromper um contêiner em execução na sessão do host executando o seguinte comando:

docker kill my_test

Isso é tudo! Neste guia, abordamos como instalar e usar o Docker CE no Ubuntu 20.04 Linux. Se você tiver alguma dúvida, use o formulário de feedback abaixo para nos perguntar.