O Docker é um popular software de contentorização. Os contentores são uma unidade padrão de software que empacota o código e todas as suas dependências para que uma aplicação possa ser executada de forma rápida e fiável em diferentes sistemas operativos e ambientes informáticos.
Em termos técnicos, um contentor é um processo em execução que está isolado de outros processos e tem acesso aos recursos do computador. A seguir, vamos ver como instalar o Docker no Debian 11 e executar o primeiro aplicativo.
Há duas maneiras de instalar, usando os repositórios padrão do Debian ou o repositório oficial do Docker. Os repositórios do Debian não contêm a versão mais recente, então vamos considerar a instalação a partir do repositório oficial do Docker.
Antes de adicionar o repositório, é necessário atualizar a lista de pacotes executando o comando:
$ sudo apt update
Instale também pacotes adicionais que são necessários para trabalhar com repositórios remotos. Para instalar esses pacotes, execute o comando:
$ sudo apt -y install ca-certificates curl gnupg lsb-release
Em seguida, descarregue e adicione a chave PGP do repositório. Para fazer isso, execute o comando:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Para adicionar o repositório, é necessário executar o comando:
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Para instalar o pacote, primeiro é necessário atualizar as listas de pacotes para que um novo repositório apareça no sistema. Para o fazer, basta executar o comando:
$ sudo apt update
Por fim, é possível instalar pacotes adicionais. A instalação é efectuada com o comando:
$ sudo apt -y install docker-ce docker-ce-cli containerd.io
A palavra ce
no nome do pacote docker-ce
significa community
, o que significa que a versão gratuita (também conhecida como versão community) será instalada. Agora já sabe como instalar o docker debian.
Após a instalação, o programa será desligado por defeito. Para iniciar o programa, é necessário executar o comando:
$ sudo systemctl start docker
Para que possa ser executado com o sistema operativo, deve ser adicionado ao carregador automático utilizando o comando:
$ sudo systemctl enable docker
Por defeito, apenas o utilizador root pode utilizar e executar os seus comandos no terminal. Se executar qualquer comando a partir de um utilizador normal, o terminal apresentará o seguinte erro:
Obteve permissão negada ao tentar se conectar ao soquete do daemon do Docker em unix:///var/run/docker.sock: Obtenha "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
Para executar o comando como um utilizador normal e sem utilizar o comando sudo
, é necessário adicionar o utilizador ao grupo docker
. O grupo docker
é criado automaticamente durante a instalação. No entanto, se por algum motivo não for criado automaticamente, deve ser criado manualmente executando o seguinte comando:
$ sudo groupadd docker
Em seguida, para adicionar o utilizador atual ao grupo docker, execute:
$ sudo usermod -aG docker $USER
A variável $USER
significa que o utilizador atual, em nome do qual a sessão é iniciada, será adicionado ao grupo docker
. Esta variável está presente em todas as distribuições Linux modernas. Também vale a pena notar que o grupo docker concede privilégios equivalentes aos do utilizador root.
Depois de adicionar um utilizador, é necessário voltar a iniciar sessão no sistema e só depois é possível executar qualquer comando Docker
para teste. Como exemplo, foi executado o comando docker ps
que apresenta uma lista de contentores em execução:
$ docker ps
Como se pode ver na captura de ecrã acima, foi executado sem erros e em nome de um utilizador normal.
Para testar completamente o Docker, pode descarregar uma imagem de teste do hello-world
para verificação. Para isso, é necessário executar:
$ docker run hello-world
O comando docker run
descarregará a imagem de software do repositório online docker hub
, o registo oficial de armazenamento de imagens de software do Docker que é utilizado por predefinição, e executá-la-á automaticamente. O exemplo mostra a frase Hello from Docker!
, o que significa que a imagem foi descarregada e executada com sucesso.