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.