Como instalar e usar o Docker no Ubuntu 20.04

Docker é uma plataforma aberta e popular para desenvolvedores e administradores de sistemas construírem, executarem e compartilharem aplicações com contêineres. A contêinerização (uso de contêineres para implantar aplicações) 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 a Edição Comunitária do Docker (CE).

Pré-requisitos:

Instalando o Docker no Ubuntu 20.04

Para usar a versão mais recente do Docker, vamos instalá-lo a partir do repositório oficial do Docker. Portanto, comece adicionando a chave GPG para o repositório oficial do Docker ao seu sistema, depois disso adicione a configuração do repositório ao fonte APT com os 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 de pacotes do APT para incluir os novos pacotes do Docker no sistema usando o seguinte comando.

$ sudo apt update

Em seguida, instale o pacote Docker conforme mostrado.

$ sudo apt install docker-ce
Install Docker on Ubuntu

Durante o processo de instalação do pacote Docker, o instalador do pacote aciona o systemd (gerenciador de sistemas e serviços) para iniciar e habilitar automaticamente o serviço docker. Use os seguintes comandos para confirmar que o serviço docker está ativo e está 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
Check Docker Status

Existem vários outros comandos systemctl para gerenciar e controlar o serviço do 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 no seu sistema, execute o seguinte comando:

$ docker version
Check Docker Version

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

 
$ docker
List of Docker Commands

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

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

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

Para executar o comando docker sem usar sudo, adicione todos os usuários não root que devem acessar o docker, no grupo docker da seguinte forma. 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
Add User to Docker Group

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

$ docker run hello-world
Verify Docker Installation

Trabalhando com Imagens do Docker

A Docker image is a read-only template file with instructions for creating a Docker container. You can either create your custom images or you can only use those created by others and published in the Docker Hub, the world’s largest library and community for container images.

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

$ docker search centos 
Search Docker Images

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

$ docker pull centos
Download CentOS Docker Image

Depois que o download estiver completo, você pode listar as imagens disponíveis em seu sistema local.

$ docker images
List Docker Images

Se você não precisa mais de uma imagem, pode removê-la do seu sistema.

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

Executando e Gerenciando Contêineres do Docker

A Docker container is a process that runs natively on Linux and shares the kernel of the host machine with other containers. Concerning a Docker image, a container is just a running image.

Para iniciar um contêiner com base na 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
Run Commands in Docker Container

A container runs a discrete process that is isolated in that it has its own: file system, networking, and isolated process tree separate from the host. Note that you can manipulate a container using the container’s ID, ID-prefix, or name as shown below. The above container process exits after the command runs.

Para listar os contêineres do Docker, use o comando docker ps da seguinte maneira. Use a bandeira -l para mostrar o contêiner criado mais recentemente em todos os estados:

$ docker ps
OR
$ docker ps -l
List Docker Containers

Para mostrar todos os contêineres, incluindo aqueles que foram encerrados, use a bandeira -a.

$ docker ps -a
Show All Docker Containers

Você também pode iniciar um contêiner usando seu ID de contêiner depois que ele foi encerrado. 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
Start a Docker Container Using ID

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

$ docker stop 94c35e616b91

O Docker também permite que você atribua 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
Assign a Name to Docker Container

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 poder executar comandos dentro do contêiner, execute o seguinte comando:

$ docker run --name my_test -it centos
Start Interactive Shell into a Container

No comando acima, as opções -it indicam 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 se desconectar de um contêiner e deixá-lo em execução. Para fazer isso, use a sequência de teclas CTRL+p e depois CTRL+q.

Detach Docker from a Running Session

Você pode se reconectar ao contêiner usando o comando attach, que irá anexar a entrada, saída e erro padrão locais aos fluxos em execução do contêiner:

$ docker attach my_test

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

$ docker run --name my_test -d -it centos
$ docker attach my_test
Start Docker Container in Detached Mode

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

$ docker kill my_test

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

Source:
https://www.tecmint.com/install-docker-on-ubuntu/