Instalando o Docker no Ubuntu (4 maneiras fáceis)
Publicados: 2022-12-05O Docker é uma ferramenta popular para desenvolver e implantar software em pacotes conhecidos como contêineres. O Ubuntu é uma das distribuições Linux mais populares e é um sistema operacional bem suportado pelo Docker.
A instalação do Docker no Ubuntu cria uma plataforma ideal para seus projetos de desenvolvimento, usando máquinas virtuais leves que compartilham o kernel do sistema operacional Ubuntu. Este tutorial irá ajudá-lo a começar explicando 4 maneiras de fazer isso acontecer.
Mais sobre o Docker
O Docker ajuda a tornar os aplicativos portáteis, permitindo que você os crie e execute em qualquer host Docker. Uma imagem de contêiner pode ser usada sem modificação em qualquer lugar disponível do Docker — do seu laptop à nuvem. Isso simplifica a experiência do desenvolvedor eliminando as diferenças entre os ambientes de tempo de execução. O formato de contêiner também é fácil de distribuir em várias máquinas físicas, permitindo que você dimensione facilmente os aplicativos em resposta à demanda em constante mudança.
O Docker inclui tudo o que você precisa para criar e executar imagens de contêiner, sejam elas do Docker Hub e de outros registros públicos ou de seus próprios Dockerfiles.
Preparando-se para instalar o Docker no Ubuntu
Você pode instalar a versão mais recente do Docker nas versões 18.04, 20.04, 21.10 e 22.04 do Ubuntu. As arquiteturas x64_64/AMD64, ARMhf, ARM64 e S390x são suportadas.
Existem várias maneiras de instalar o Docker, e sua escolha dependerá da funcionalidade necessária e de sua abordagem preferida para o gerenciamento de pacotes. Você aprenderá todas as opções possíveis neste guia.
Selecionando um sabor do Docker
O Docker no Linux era tradicionalmente somente terminal. Uma instalação funcional compreende o Docker Engine, um daemon que executa seus contêineres e a interface de linha de comando (CLI) docker
para interagir com o daemon.
O Docker Desktop é uma maneira alternativa de usar o Docker. Historicamente disponível apenas para Windows e Mac, foi lançado para Linux em maio de 2022. O Docker Desktop no Ubuntu requer um processador AMD64 e Ubuntu 21.10 ou 22.04. Ele fornece uma interface gráfica para gerenciar seus contêineres, um cluster Kubernetes integrado e suporte para extensões de terceiros. O Docker Desktop também oferece as CLIs do docker
e do Docker Compose.
O Docker Desktop é diferente do Docker Engine porque usa uma máquina virtual para executar seus contêineres (é por isso que o Docker Desktop é necessário para usuários de Windows e MacOS). Embora seja possível usar ambos os tipos lado a lado no Ubuntu, você pode encontrar conflitos entre as versões do docker
CLI. É melhor escolher um e cumpri-lo. Escolha o Docker Engine se estiver confortável em seu terminal e quiser o melhor suporte e desempenho. A VM do Docker Desktop o torna um pouco mais pesado, mas é a melhor escolha se você deseja uma interface do usuário integrada ou planeja usar o Kubernetes.
Instalando o Docker Engine no Ubuntu
O Docker Engine é a maneira padrão de executar o Docker no Ubuntu. Ele funciona com todas as versões e ambientes suportados, desde uma máquina Ubuntu Desktop local até seu host de nuvem Ubuntu Server. Verifique se você está executando uma versão do Ubuntu 18.04 ou mais recente antes de continuar.
O Docker Engine possui 3 métodos de instalação diferentes:
- Um repositório
apt
oficial do Ubuntu - Um pacote Debian independente (
.deb
) - Um script de instalação automatizado
A opção 1, o repositório apt
do Ubuntu, é a mais usada. Ele adiciona o Docker à sua lista de pacotes para que você possa instalar facilmente atualizações futuras executando apt upgrade
. A opção 2 não oferece suporte a atualizações automatizadas, mas é ideal para instalar o Docker em sistemas offline sem ar. O script de instalação automatizada é o método mais simples para começar, mas é configurado apenas para uso em desenvolvimento. O Docker desaconselha seu uso em ambientes de produção.
Use o repositório apt
quando estiver trabalhando com um sistema de produção, quiser atualizações fáceis ou precisar usar o mesmo mecanismo em todos os ambientes.
Use o script de instalação automatizada se desejar uma experiência de configuração rápida enquanto experimenta o Docker em sua própria máquina.
1. Instalando o Docker usando o repositório apt
O Docker publica pacotes em seu próprio repositório apt
. Você precisará adicionar este repositório à sua lista de fontes do apt
, caso contrário, sua instalação do apt
não conseguirá encontrar os pacotes do Docker.
Comece atualizando sua lista de pacotes existente e instalando algumas dependências para as etapas a seguir. As ferramentas ca-certificates
, curl
, gnupg
e lsb_release
serão usadas para baixar os detalhes corretos do repositório apt
do Docker e a chave de assinatura para o seu sistema. Embora você provavelmente já tenha esses pacotes, não custa nada certificar-se de que eles estejam disponíveis.
$ sudo apt update $ sudo apt install ca-certificates curl gnupg lsb-release
Em seguida, registre o chaveiro GPG do Docker com apt. Isso permitirá que o apt
valide os pacotes do Docker que você instalar.
$ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ sudo chmod a+r /etc/apt/keyrings/docker.gpg
O comando curl
baixa a chave GPG do Docker para o Ubuntu, converte-a de volta para a codificação OpenGPG padrão e a salva no diretório de chaves do apt. chmod
é usado para definir as permissões no arquivo de chaveiro para que o apt
o detecte de forma confiável.
Agora você pode adicionar a origem do pacote Docker ao seu sistema. Execute o seguinte comando:
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Isso usa substituição de shell para detectar automaticamente a arquitetura do seu sistema, como AMD64 ou ARM64, e baixar a lista de pacotes apropriada. Ele será verificado usando a chave GPG adicionada anteriormente. O repositório é adicionado como uma nova lista de pacotes dentro do apt /etc/apt/sources.list.d directory.
Atualize suas listas de pacotes novamente para que o apt
saiba que os pacotes do Docker existem:
$ sudo apt update
Agora você pode usar o comando apt install
para adicionar os componentes do Docker ao seu sistema. Você instalará a versão mais recente do Docker Community Edition (CE). Existem três pacotes para instalar:
-
docker-ce
: o daemon do Docker Engine. -
docker-ce-cli
: a CLI do Docker com a qual você interagirá. -
containerd.io
: o tempo de execução do contêiner conhecido como containerd que inicia e executa seus contêineres.
$ sudo apt install docker-ce docker-ce-cli containerd.io
2. Instalando o Docker usando o pacote Debian
O pacote .deb
oficial é simples de configurar, mas você terá que baixar e instalar manualmente cada nova versão. Os pacotes são hospedados em um servidor de arquivos simples. Primeiro, navegue até a página de notas de versão do Docker para encontrar o número da versão mais recente disponível, como 20.10.20. Em seguida, vá para a página GitHub do containerd para verificar o número da versão também. Será parecido com 1.6.8.
Agora você pode executar a seguinte sequência de comandos para baixar o conjunto certo de pacotes para sua plataforma. Substitua <DOCKER_VERSION>
e <CONTAINERD_VERSION>
pelos números de versão atuais do Docker e containerd, respectivamente.
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce.deb $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce-cli_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce-cli.deb $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/containerd.io_<CONTAINERD_VERISON>-1_amd64.deb -o containerd.deb
Você também pode baixar os arquivos e inspecionar todos os lançamentos disponíveis visitando a lista de diretórios da sua versão do Ubuntu em seu navegador.
Depois de baixar os pacotes Docker CE, CLI e containerd, use o seguinte comando para instalá-los:
$ sudo apt install ./docker-ce.deb ./docker-ce-cli.deb ./containerd.deb
Ajuste os nomes dos arquivos se você baixou manualmente os pacotes sem usar o script fornecido acima.
3. Instalando o Docker usando o script de instalação
O script de conveniência do Docker automatiza a instalação de todos os componentes do Docker. Não é interativo, então você pode sentar e esperar enquanto seu sistema é preparado para você.
Primeiro baixe o script:
$ curl -fsSL https://get.docker.com -o get-docker.sh
Agora execute o script com privilégios de root:
$ sudo sh get-docker.sh Executing docker install script ...
Aguarde até que o script seja concluído. Você deve ver uma mensagem de confirmação mostrando que o Docker está instalado.
O script pretende ser uma solução de tamanho único. Você não pode personalizar o que ele faz sem modificar diretamente a origem do script. Ele também não foi projetado para executar atualizações do Docker, pois não atualizará as dependências para suas versões mais recentes.
Certificando-se de que o Docker Engine está funcionando no Ubuntu
Qualquer que seja o método de instalação usado, você deve garantir que tudo esteja funcionando iniciando um contêiner:
$ sudo docker run hello-world
Você verá o cliente Docker puxar o hello-world:image
para sua máquina, do repositório Docker Hub:
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 2db29710123e: Pull complete Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625 Status: Downloaded newer image for hello-world:latest
Um novo contêiner será iniciado automaticamente. A imagem inicial “hello-world” é configurada para executar um comando simples que gera algumas informações básicas sobre o Docker e sai imediatamente:
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. (amd64) 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.
Ver a saída mostrada acima significa que o Docker está pronto para uso. O daemon extraiu com êxito a imagem hello-world:latest do Docker Hub e iniciou um contêiner usando-a. Tudo a partir da linha “Hello from Docker” em diante foi emitido pelo processo dentro do container.
Configurando permissões do Docker Engine no Ubuntu
Uma nova instalação do Docker Engine geralmente requer privilégios de root para executar comandos docker
CLI. Você precisa prefixar cada comando com sudo
, o que é inconveniente.
Você pode evitar esse requisito adicionando-se ao grupo docker
depois de instalar o Docker Engine usando as etapas acima. Essa alteração opcional fornece permissões para executar comandos docker
como um usuário regular, sem sudo
, o que simplifica sua experiência CLI.
Verifique se o grupo de usuários do docker
existe:
$ sudo groupadd docker
Em seguida, adicione-se a ele:
$ sudo usermod -aG docker $USER
Se você executou anteriormente qualquer comando docker
com sudo
, precisará corrigir as permissões em seu diretório ~/.docker
:
$ sudo chown $USER:$USER /home/$USER/.docker -R $ sudo chmod g+rwx $HOME/.docker -R
Isso garante que sua própria conta de usuário tenha permissão para ler e gravar arquivos no diretório.
Saia do seu sistema e faça login novamente para que sua nova associação ao grupo entre em vigor. Tente executar um comando docker
sem sudo
:
$ docker run hello-world
Esta etapa de pós-instalação conclui o processo de configuração do Docker no Ubuntu. O daemon já está configurado para iniciar automaticamente, então você não precisa configurar um serviço manualmente. Se você estiver planejando uma instalação avançada, consulte o manual do usuário do Docker para obter instruções sobre como configurar rede personalizada, log e gerenciamento de armazenamento de volume.
Adicionando o Docker Compose à sua instalação do Ubuntu
O Docker Compose é uma popular ferramenta complementar do Docker que facilita o trabalho com aplicativos que usam vários contêineres. Enquanto a CLI do docker
visa apenas um contêiner com cada comando, o docker compose
pode iniciar e parar vários contêineres com cada ação. Isso simplifica o gerenciamento de sistemas nos quais você tem front-end, back-end e serviços de banco de dados separados.
O Docker Compose agora está disponível como parte da CLI do docker
. O plug-in Compose V2 é incluído quando você usa o script de instalação oficial para instalar o Docker. Também está disponível no apt
se você usou esse método:
$ sudo apt install docker-compose-plugin
Como alternativa, você pode baixar o arquivo .deb
mais recente e instalá-lo manualmente:
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-compose-plugin_2.6.0~ubuntu-focal_amd64.deb -o docker-compose-plugin.deb $ sudo apt install -i ./docker-compose-plugin.deb
Verifique se o Compose está funcionando, tentando o comando docker compose version
:
$ docker compose version Docker Compose version v2.6.0
Instalando o Docker Desktop no Ubuntu
Enquanto o Docker Engine é restrito a uma experiência somente CLI, o Docker Desktop fornece uma interface gráfica de gerenciamento, suporte integrado ao Kubernetes e extensões opcionais de terceiros que podem ajudar a simplificar seus fluxos de trabalho de contêiner. É uma ótima escolha quando você procura facilidade de uso em sua própria estação de trabalho.
Para instalar o Docker Desktop, primeiro instale algumas dependências usando o apt
:
$ sudo apt update $ sudo apt install ca-certificates curl gnupg lsb-release
Em seguida, execute o seguinte conjunto de comandos para adicionar o repositório apt
do Docker. Embora o Docker Desktop não esteja incluído no repositório, os pacotes dentro dele são referenciados como dependências pelo arquivo Debian do Desktop.
$ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ sudo chmod a+r /etc/apt/keyrings/docker.gpg $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null $ sudo apt update
O comando curl
baixa a chave GPG do Docker para o Ubuntu, converte-a de volta para a codificação OpenGPG padrão e a salva no diretório apt
keyring. chmod
é usado para definir as permissões no arquivo de chaveiro para que o apt
o detecte de forma confiável.
Baixe o arquivo Docker Desktop Debian no link na documentação. Isso fornecerá a versão estável mais recente do Docker Desktop para Linux. Use o apt
para instalar o pacote, substituindo o número da versão que você baixou:
$ sudo apt install ./docker-desktop-4.11.0-amd64.deb
O Docker Desktop agora aparecerá no seu iniciador de aplicativos. Use seu iniciador para iniciar o Docker Desktop e abrir a interface do usuário. Você também poderá executar os comandos docker
, docker compose
e kubectl
em seu terminal. O aplicativo também adiciona um menu à bandeja do shell que mostra o status atual do Docker Desktop e permite que você execute algumas ações rápidas.
Você será solicitado a aceitar um contrato de serviço na primeira vez que executar o Docker Desktop. Pressione o botão Aceitar se você consentir e aguarde enquanto o Docker Desktop inicia sua máquina virtual.
Após alguns instantes, o painel será carregado. Ele fornece atalhos para criar novos contêineres a partir de imagens populares, evitando longos comandos de terminal.
DevKinsta: Docker Desktop para WordPress
Soluções especializadas construídas sobre a base do Docker fornecem uma experiência ainda mais fácil para tecnologias específicas. DevKinsta é uma ferramenta de desenvolvimento local gratuita para criar temas e plugins WordPress que usa o Docker para isolar e proteger totalmente seus sites WordPress. Isso torna rápido e simples iniciar e personalizar um novo projeto WordPress sem configurar servidores por conta própria. Quando estiver pronto, você pode enviar diretamente para a plataforma Kinsta para implantar seu site ao vivo.
Você pode instalar o DevKinsta no MacOS, Windows e Ubuntu.
Resumo
Docker é como a maioria dos desenvolvedores começa a usar contêineres. Você pode instalar facilmente o Docker em seu sistema Ubuntu, como Docker Engine ou o novo Docker Desktop. Depois de instalar o Docker, você estará totalmente equipado para criar e executar contêineres, simplificando o desenvolvimento e reduzindo as discrepâncias entre os ambientes.
Se você estiver desenvolvendo temas e plugins do WordPress, o DevKinsta pode simplificar a criação de um ambiente de desenvolvimento local e a implantação do seu site.