Tutorial do Docker: introdução à popular plataforma de contentores
No nosso tutorial sobre o Docker, explicamos a plataforma de virtualização Docker e fornecemos instruções fáceis de seguir sobre como utilizá-la no seu sistema Ubuntu 22.04.
Docker: estrutura e funcionalidades
Com o slogan «Build, Ship and Run Any App, Anywhere», a plataforma de contentores de código aberto Docker apresenta-se como uma alternativa flexível e eficiente à emulação de componentes de hardware baseada em máquinas virtuais (VM).
Ao contrário da virtualização tradicional de hardware, que implica iniciar diferentes sistemas convidados num mesmo sistema anfitrião (host), o Docker permite que as aplicações sejam executadas como processos isolados dentro do mesmo sistema, graças aos contentores. Assim, na virtualização de servidores baseada em contentores, consegue-se uma virtualização ao nível do sistema operativo.

A principal vantagem da virtualização baseada em contentores reside no facto de as aplicações com requisitos diferentes poderem ser executadas de forma isolada, sem a sobrecarga de sistemas anfitriões separados. Além disso, as aplicações em contentores podem ser utilizadas em várias plataformas e em diversas infraestruturas, sem necessidade de as adaptar às configurações de hardware ou software do sistema anfitrião.
O Docker é o projeto de software mais conhecido entre aqueles que oferecem tecnologia de virtualização baseada em contentores. A plataforma de código aberto é composta por três componentes principais: o motor Docker (Docker Engine), as imagens Docker e o repositório Docker Hub.
Imagens do Docker
À semelhança das máquinas virtuais, os contentores Docker baseiam-se em imagens Docker, que são modelos de leitura única com todas as instruções necessárias para que o motor Docker crie um contentor. Uma imagem Docker é uma representação portátil de um contentor, apresentada na forma de um ficheiro de texto, ou seja, um Dockerfile. Antes de iniciar um contentor num sistema, é carregado um pacote com a imagem correspondente, a menos que esta já esteja armazenada localmente. A imagem carregada contém todos os sistemas de ficheiros com os parâmetros necessários para a execução. Um contentor é essencialmente um processo em execução de uma imagem.
Docker Hub
O Docker Hub é um registo de repositórios de software na nuvem, ou seja, funciona como uma espécie de biblioteca para imagens Docker. É um serviço online que contém repositórios públicos e privados. Os repositórios públicos permitem que os utilizadores carreguem as suas próprias imagens e as partilhem com a comunidade. Aqui encontram-se inúmeras imagens Docker oficiais criadas pela equipa de programadores, bem como projetos de código aberto consolidados. Por outro lado, nem todos têm acesso às imagens dos repositórios privados, embora estas possam ser partilhadas dentro da mesma empresa ou num determinado grupo. O repositório do Docker Hub é acessível através de hub.docker.com.
Motor Docker
O cerne de qualquer projeto Docker é o seu motor, uma aplicação cliente-servidor de código aberto disponível em todas as plataformas na versão atual.
A arquitetura básica do motor Docker é composta por três componentes principais: um daemon Docker, que funciona como servidor, uma interface de programação (API) baseada em REST (Representational State Transfer) e o terminal do sistema operativo (Command-Line Interface, CLI) como interface de utilizador (cliente).
- Daemon do Docker: o motor do Docker utiliza um processo daemon como servidor, que é executado em segundo plano no sistema anfitrião e permite o controlo central do motor. Além disso, é responsável pela criação e gestão de imagens, contentores ou redes.
- A API REST: especifica um conjunto de interfaces que permite que outros programas interajam e dêem instruções ao daemon. Um deles é o terminal do sistema operativo.
- O terminal: o Docker utiliza o terminal do sistema operativo como programa cliente, o qual interage com o daemon através da API REST e permite aos utilizadores controlar o daemon através de scripts ou comandos.
Em 2017, o motor Docker passou a chamar-se Docker Community Edition (abreviado como Docker CE), embora a documentação oficial e os repositórios do Docker continuem a utilizar, na sua maioria, o nome antigo. Para além do Docker CE, existe também o Docker Enterprise Edition (Docker EE), que oferece algumas funcionalidades premium. No entanto, o Docker EE não é gratuito e destina-se principalmente a empresas.
Com os comandos do Docker, os utilizadores podem executar, parar ou gerir os contentores de software diretamente a partir do terminal. Utilizando o comando docker em conjunto com instruções como build (criar), pull (transferir) ou run (executar), é possível comunicar com o daemon, permitindo que o cliente e o servidor estejam no mesmo sistema. Além disso, também é possível comunicar com o daemon a partir de outro sistema. A comunicação entre o cliente e o servidor pode ser realizada através da API REST, sockets UNIX ou uma interface de rede, dependendo do tipo de ligação necessária.
A imagem seguinte mostra como os componentes individuais do Docker se combinam, utilizando os comandos docker build, docker pull e docker run como exemplos:

O comando docker build instrui o daemon a criar uma imagem (linha pontilhada), utilizando o Dockerfile correspondente. O comando docker pull (linha tracejada) é executado quando o utilizador não criou a imagem, mas a obtém de um repositório no Docker Hub. Se for ordenado ao daemon que inicie um contentor com o comando docker run, este verifica primeiro se a imagem necessária está armazenada localmente. Se for esse o caso, o contentor é iniciado (linha contínua). Caso contrário, o daemon obtém a imagem diretamente do repositório.
Trabalhar com o Docker
Chegou a hora de se familiarizar com as possibilidades de aplicação da plataforma de contentores. Se ainda não instalou o motor Docker, pode fazê-lo através do terminal do Linux. Encontrará instruções sobre como proceder no nosso artigo«Instalar o Docker no Ubuntu 22.04». A seguir, aprenderá a utilizar o motor Docker a partir da consola, conhecerá as capacidades do Docker Hub e compreenderá por que razão os contentores representam uma revolução na gestão de aplicações.
Como gerir o motor Docker
Desde a versão 16.04, o Ubuntu utiliza o programa systemd(abreviatura de «system daemon») para gerir processos.O systemd éum processo init que também pode ser utilizado noutras distribuições Linux, como o RHEL, o CentOS ou o Fedora, e é geralmente identificado com o ID de processo 1. Como primeiro processo do sistema, o daemon é responsável por iniciar, parar e monitorizar os restantes processos. Nas versões anteriores do Ubuntu (14.10 e anteriores), oprograma upstart encarregava-se dessas funções.
Também é possível controlar o daemon do Docker através do systemd. Na instalação padrão, a plataforma de contentores está configurada para que o daemon seja iniciado automaticamente ao arrancar o sistema. No entanto, a configuração predefinida pode ser alterada utilizando a ferramenta de linha de comandos systemctl.
Para controlar um processo ou verificar o seu estado, pode enviar comandos ao systemd através do systemctl. A sintaxe desse comando é a seguinte:
systemctl [OPCIÓN] [COMANDO]bashAlguns comandos referem-se a determinados recursos, como o Docker. A terminologia do systemd refere-se a esses recursos como «units» (unidades). Nesse caso, o comando deriva das instruções correspondentes e do nome da unidade a que se destina.
Se quiser ativar (enable) ou desativar (disable) o arranque automático do daemon do Docker, utilize a ferramenta systemctl com os seguintes comandos:
sudo systemctl enable docker
sudo systemctl disable dockerbashO systemctl também permite verificar o estado de uma unidade:
sudo systemctl status dockerbashSe o Docker estiver ativo no sistema Ubuntu, a saída no terminal deverá ser a seguinte:

Se o motor do Docker estiver desativado, o estado aparecerá como inativo (dead), pelo que será necessário iniciar o daemon do Docker manualmente para executar os contentores.

Se quiser iniciar, parar ou reiniciar o motor Docker manualmente, utilize o systemd com um dos seguintes comandos:
Para iniciar o daemon desativado, utilize o systemctl juntamente com o comando start:
sudo systemctl start dockerbashSe o que pretende é parar o daemon do Docker, utilize o comando stop:
sudo systemctl stop dockerbashPara reiniciar o motor, utilize restart:
sudo systemctl restart dockerbashComo utilizar o Docker Hub
Se o motor Docker representa o coração da plataforma de contentores, o Docker Hub é a alma do projeto de código aberto, pois é aqui que a comunidade se reúne. Os utilizadores encontram neste repositório na nuvem tudo o que precisam para dar vida à sua instalação do Docker.
O serviço online disponibiliza vários repositórios oficiais com mais de 100 000 aplicações gratuitas. Os utilizadores também têm a possibilidade de criar as suas próprias imagens e partilhá-las com grupos de trabalho. Para além do apoio profissional prestado pela equipa de programadores, aqui também é possível interagir com a comunidade de utilizadores. No GitHub, os utilizadores têm acesso a um fórum de apoio.

Registar-se no Docker Hub
O registo no Docker Hub é gratuito e requer apenas um endereço de e-mail e um Docker ID próprio, que será posteriormente utilizado como nome do espaço pessoal para o repositório e permite aceder a todos os serviços do Docker. A oferta inclui o Docker Hub, o Docker Cloud, a Docker Store e alguns programas Beta. Além disso, com o Docker ID, obtém-se acesso ao centro de assistência do Docker, bem como ao Docker Success Portal e aos fóruns do Docker.
Podes registar-te seguindo estes cinco passos:
- Escolha um Docker ID: durante o registo, deve escolher um nome de utilizador que mais tarde se tornará o seu ID.
- Introduza o seu endereço de e-mail: introduza um endereço de e-mail ativo, pois servirá para confirmar a inscrição no Docker Hub.
- Crie uma palavra-passe: escolha uma palavra-passe.
- Envie a inscrição: clique em «Sign up» para confirmar a sua inscrição. Se todos os dados tiverem sido preenchidos corretamente, será enviado um link de verificação para o endereço fornecido.
- Confirme o seu endereço de e-mail: confirme a sua conta de e-mail clicando no link de verificação.
Depois de se registar, poderá aceder diretamente aos serviços online do projeto Docker a partir do navegador. Aqui poderá criar repositórios e grupos de trabalho, bem como procurar recursos de acesso público através da funcionalidade «Explorar».

Também podes registar-te diretamente a partir da consola do sistema operativo utilizando o comando docker login. Podes encontrar uma explicação detalhada sobre o comando na documentação do Docker.
Em princípio, os utilizadores sem conta nem Docker ID também podem aceder ao Docker Hub, embora só possam descarregar imagens dos repositórios de acesso público e não possam carregar (push) as suas próprias imagens.
Criar repositórios no Docker Hub
A conta gratuita no Docker Hub inclui um repositório de acesso privado e permite criar quantos repositórios de acesso público quiser. No entanto, pode desbloquear mais repositórios de acesso privado através de uma atualização paga.
Para criar um repositório, siga os seguintes passos:
- Escolha um espaço de nomes: quando cria um repositório, é-lhe atribuído automaticamente o espaço de nomes do seu Docker ID, embora também lhe possa ser atribuído o de uma organização à qual pertença.
- Dê um nome ao repositório: atribua um nome ao repositório que está a criar.
- Adicione uma descrição: adicione uma descrição ao repositório.
- Configure a segurança: decida se pretende criar um repositório de acesso público (public) ou um ao qual apenas você ou a sua organização possam aceder (private).
Clique em «Create» para confirmar a criação.

Criar equipas e organizações
Através do Docker Hub, o Docker oferece uma plataforma na nuvem onde é possível gerir a criação de imagens de forma centralizada e partilhá-las facilmente com grupos de trabalho, aos quais o Docker denomina «organizações». Tal como acontece com as contas de utilizador, as organizações também recebem um ID individual, através do qual podem descarregar imagens ou partilhá-las com outros utilizadores. As funções e permissões de cada membro são organizadas em equipas. Desta forma, por exemplo, apenas os utilizadores que pertencem ao grupo «Owners» podem criar repositórios privados ou públicos e atribuir permissões de acesso.
Também podes criar e gerir os grupos de trabalho através do painel de controlo. Para mais informações sobre a gestão de equipas e organizações, consulta a documentação do Docker.
Como trabalhar com imagens e contentores
O Docker Hub é o principal ponto de acesso aos recursos oficiais do Docker e constitui o ponto de partida para a nossa introdução à gestão de imagens e contentores. Aqui, a equipa de programadores apresenta, entre outras, a imagem de demonstração «whalesay», que será utilizada como base no tutorial do Docker que se segue.
Descarregar imagens do Docker
Para encontrar a imagem whalesay, aceda à página inicial do Docker Hub e introduza o termo whalesay na barra de pesquisa situada à direita do logótipo do Docker.

Nos resultados da pesquisa, clique no recurso com a etiqueta docker/whalesay para aceder ao repositório público desta imagem. Os repositórios Docker têm sempre a mesma estrutura: na parte superior, é apresentado o título da imagem, a categoria do repositório e a data da última atualização (last pushed).

Cada repositório Docker inclui também as seguintes secções:
- Descrição: descrição detalhada e instruções de utilização.
- Comando Docker Pull: consola de linha de comandos para descarregar imagens do repositório (
pull). - Proprietário: informações sobre o criador do repositório.
- Comentários: área de comentários no final da página.
Nas janelas de informação do repositório, pode ver-se que o whalesay é uma adaptação do script Perl de código aberto cowsay. O programa, desenvolvido por Rony Monroe em 1999, gera uma representação gráfica ASCII de uma vaca que aparece no terminal do utilizador juntamente com uma mensagem.
Para descarregar a imagem docker/whalesay, utilize o comando docker pull com a seguinte sintaxe:
docker pull [OPTIONS] NAME [:TAG|@DIGEST]bashO comando docker pull instrui o daemon a descarregar uma imagem do repositório. Para que ele possa identificar a imagem, deve indicar o seu nome (NAME). Também pode indicar ao Docker como deve executar o comando pretendido através de opções (OPTIONS) e, opcionalmente, introduzir tags (:TAG) ou números de identificação únicos (@DIGEST) que permitem descarregar uma versão específica de uma imagem.
Para criar uma cópia local da imagem docker/whalesay, utilize o seguinte comando:
docker pull docker/whalesaybashEm geral, isso não é necessário, pois quando se pretende iniciar um contentor, o daemon do Docker descarrega automaticamente as imagens do repositório, caso não as encontre no sistema local.
Iniciar imagens do Docker como contentores
Para iniciar uma imagem do Docker, utilize o comando docker run com a seguinte estrutura básica:
docker run [OPTIONS] IMAGE [:TAG|@DIGEST] [CMD] [ARG…]bashA única parte obrigatória do comando docker run é o nome da imagem do Docker que pretende iniciar. No entanto, ao iniciar um contentor, também pode especificar outras opções, TAGs e DIGEST. Além disso, pode combinar o comando docker run com outros comandos que são executados ao iniciar o contentor. Neste caso, o comando CMD (COMMAND) definido pelo criador, que é executado automaticamente ao iniciar o contentor, é substituído. Com argumentos adicionais (ARG…), pode definir outras configurações opcionais, como adicionar utilizadores ou transferir variáveis de ambiente (environment variables).
Utilize o seguinte comando:
docker run docker/whalesay cowsay boobashpara descarregar o script Perl correspondente como imagem e executá-lo num contentor. Verás que o whalesay difere bastante do script original.

Ao executar a imagem docker/whalesay, o script exibe na consola um gráfico ASCII com a forma de uma baleia, bem como a mensagem «boo» gerada pelo comando cowsay.
Tal como no teste anterior, o daemon irá primeiro procurar a imagem no diretório local de ficheiros. Se não encontrar um pacote com o mesmo nome, inicia um download a partir do repositório do Docker através de um comando pull. Por fim, o daemon irá iniciar o programa cowsay modificado. Assim que terminar, o contentor será encerrado automaticamente.
Tal como acontece com o cowsay, o whalesay do Docker também permite alterar a saída de texto no terminal. Experimenta esta funcionalidade substituindo a mensagem «boo» no comando de saída por outra sequência de caracteres, como uma piada sobre baleias.
sudo docker run docker/whalesay cowsay What did the shark say to the whale? What are you blubbering about?bash
Visualizar todas as imagens do Docker no sistema local
Para verificar se descarregou uma imagem específica, pode aceder a uma visão geral de todas as imagens no seu sistema local utilizando o seguinte comando:
sudo docker imagesbashO comando docker images (ou, em alternativa, docker image ls) mostra todas as imagens locais, juntamente com informações sobre o tamanho do ficheiro, a etiqueta e o ID de cada imagem.

Ao iniciar um contentor, a imagem subjacente é descarregada do repositório como uma cópia e guardada permanentemente no seu computador, o que lhe permite poupar tempo em acessos futuros. Só precisará de uma nova descarga se a fonte da imagem mudar, como acontece quando há uma versão atualizada disponível no repositório.
Ver todos os contentores no sistema local
Se quiser ver todos os contentores que estão a ser executados ou que já foram executados no sistema, deve utilizar o comando ocker ps juntamente com a opção --all (abreviado como: -a):
sudo docker ps -abash
As informações obtidas no terminal incluem o ID do contêiner em questão, a imagem subjacente, o comando executado para o seu arranque, a hora de arranque e o seu estado atual.
Se quiser ver apenas os contêineres que estão atualmente em execução, utilize o comando docker ps sem nenhuma opção:
sudo docker psbashNo entanto, neste momento não deverá ter nenhum contêiner em execução no seu sistema.
Criar imagens Docker
Já sabes como encontrar imagens no Docker Hub, descarregá-las e executá-las em qualquer sistema onde o motor Docker esteja instalado. No entanto, o Docker não se limita apenas a disponibilizar uma vasta gama de aplicações no seu repositório; também oferece uma grande variedade de recursos para criares as tuas próprias imagens e partilhá-las com outros programadores.
Nos capítulos introdutórios deste artigo, vimos que cada imagem do Docker é criada a partir de um Dockerfile, que funciona como um conjunto de instruções para a montagem de imagens. O Dockerfile é um ficheiro de texto simples que contém todas as instruções de que o Docker necessita para criar uma imagem. Nas secções seguintes, explicaremos como escrever um Dockerfile e como indicar ao Docker que o utilize como ponto de partida para criar a sua própria imagem.
- Crie um novo diretório: a equipa de programadores do Docker recomenda criar um diretório específico para cada Dockerfile, um processo simples de realizar no terminal do Linux. Utilize o seguinte comando para criar um novo diretório com o nome mydockerbuild:
mkdir mydockerbuildbash
- Aceda ao novo diretório: para tal, utilize o comando
cd.
cd mydockerbuildbash
- Crie um novo ficheiro de texto: editores de texto como o Nano e o Vim permitem-lhe criar ficheiros de texto a partir do terminal do Ubuntu. Crie um ficheiro de texto com o nome Dockerfile no seu diretório mydockerbuild.
nano Dockerfilebash
- Escreva o Dockerfile: o ficheiro de texto que acabou de criar irá conter as instruções necessárias para criar a sua nova imagem. Em vez de criar a imagem do zero, neste tutorial do Docker vamos utilizar o comando FROM para usar a imagem docker/whalesay como modelo para a sua nova imagem. Utilize :latest como tag para indicar que deve ser utilizada a versão mais recente da imagem.
FROM docker/whalesay:latestAté ao momento, a funcionalidade do docker/whalesay centra-se em permitir que o utilizador escolha as palavras que saem da boca da baleia, de modo a que, no terminal, apareça exatamente esse texto ao lado do comando de arranque do contentor. Seria muito mais interessante se o script gerasse automaticamente novas saídas de texto, o que é possível graças a programas como o fortunes, disponível para o sistema Linux, cuja função principal consiste em gerar provérbios e aforismos divertidos. Pode atualizar o índice de pacotes locais e instalar o fortunes com o seguinte comando:
RUN apt-get -y update && apt-get install -y fortunesPor fim, defina uma instrução CMD que será executada após o comando RUN, desde que não tenha sido substituída pelo comando (docker run image CMD). Utilize o seguinte comando para executar o programa fortunes com a opção -a («Escolher entre todas as bases de dados») e apresentar o resultado através do programa cowsay no terminal:
CMD /usr/games/fortune -a | cowsayNeste momento, o Dockerfile deve ter o seguinte conteúdo:
FROM docker/whalesay:latest
RUN apt-get -y update && apt-get install -y fortunes
CMD /usr/games/fortune -a | cowsayTenha em conta o seguinte: os comandos de um Dockerfile estão limitados a uma única linha e começam sempre por uma palavra-chave. A sintaxe não distingue entre maiúsculas e minúsculas, embora se tenha estabelecido que as palavras-chave devem ser escritas em maiúsculas.

- Guarde e feche o ficheiro de texto: guarde as suas entradas. Se estiver a utilizar o editor Nano, prima a combinação de teclas [Ctrl] + [O] e confirme com [Enter] para guardar. O Nano irá indicar que foram escritas três linhas no ficheiro selecionado. Feche o editor de texto com a combinação de teclas [Ctrl] + [X].
- Crie imagens a partir do Dockerfile: para criar uma imagem a partir de um Dockerfile, aceda primeiro ao diretório onde se encontram os ficheiros de texto. A imagem é criada com o comando
docker build. Se pretender atribuir um nome específico à imagem individualmente ou fornecer-lhe uma etiqueta, utilize a opção-tjuntamente com a combinação do nome escolhido e da etiqueta. O formato padrão éname:tag.
No exemplo seguinte, é criada uma imagem com o nome docker-whale:
docker build -t docker-whale .bashO ponto indica que o Dockerfile se encontra no diretório atual, embora também seja possível adicionar um caminho de ficheiros ou um URL para os ficheiros originais.
O processo de compilação começa assim que o comando for confirmado com [Enter]. Primeiro, o daemon do Docker verifica se dispõe de todos os ficheiros necessários para criar uma imagem, conhecidos como «Context» de acordo com a terminologia do Docker. Em seguida, localiza-se a imagem docker/whalesay com a tag :latest. Se o Contexto necessário para a imagem estiver completo, o daemon do Docker iniciará o modelo incorporado da imagem utilizando a instrução FROM num contentor temporário e, em seguida, prosseguirá com os comandos seguintes do Dockerfile. Neste caso, o comando seguinte é um RUN que instala o programa fortunes.
No final de cada etapa do processo de criação da imagem, o Docker atribui um ID à camada (layer) criada nessa etapa. É importante ter em conta que cada linha do Dockerfile corresponde a uma camada da imagem construída.
Quando o comando RUN termina, o daemon do Docker encerra o contentor temporário utilizado para este fim, elimina-o e inicia um novo contentor temporário para a camada da instrução CMD. Assim que o processo de compilação terminar, o contentor temporário será encerrado e eliminado. O Docker apresentará o ID da nova imagem, da seguinte forma:
Successfully built a8f2048c9ab8
A imagem recém-criada aparecerá na lista de imagens armazenadas localmente com o nome docker-whale.
sudo docker imagesbash
Para iniciar um contentor com base na imagem que acabou de criar, utilize o comando sudo docker run seguido do nome da sua imagem, desta forma:
sudo docker run docker-whalebashSe a imagem tiver sido criada corretamente a partir do Dockerfile, a baleia deverá falar com eloquência e demonstrar a sua sabedoria. Tem em conta que, sempre que iniciares o contentor, verás uma frase diferente.

Atribuir tags às suas imagens do Docker e carregá-las no Docker Hub
Antes de poder carregar a imagem docker-whale que criou no Docker Hub e, assim, partilhá-la com a comunidade ou com um grupo específico, deve associá-la a um repositório com o mesmo nome no seu espaço de nomes pessoal. O processo de associação é conhecido como «tagging» na terminologia do Docker.
Siga os passos abaixo para publicar uma imagem no Docker Hub:
- Criar um repositório: registe-se no Docker Hub com o seu Docker ID e a sua palavra-passe pessoal. Em seguida, crie um repositório público e denomine-o docker-whale.

- Obter o ID da imagem: utilize o comando
docker imagespara obter o identificador da imagem docker-whale que criou.

No nosso caso, o ID da imagem é a8f2048c9ab8. Precisamos do ID para marcar a imagem no passo seguinte.
- Marcar a imagem: para marcar a imagem docker-whale, utilize o comando
docker tagseguindo o seguinte esquema:
sudo docker tag [Image-ID][Docker-ID]/[Image-Name]:[TAG]bashNo exemplo atual, o comando que deve introduzir no terminal para utilizar o taggear é o seguinte:
sudo docker tag a8f2048c9ab8 [Namespace]/docker-whale:latestbashPara verificar se a imagem foi marcada corretamente, aceda à vista geral com docker images. Na lista, o nome do repositório deverá mostrar o seu Docker ID.

- Carregar a imagem: primeiro, inicie sessão no Docker Hub com o comando
docker login:
sudo docker loginbashO terminal irá solicitar o seu nome de utilizador (Docker ID) e a sua palavra-passe.

Depois de entrar, digite o comando docker push para carregar a imagem no repositório que criou:
sudo docker push [Namespace]/docker-whalebashO processo de carregamento não deve demorar mais do que alguns segundos. O terminal mostra-lhe o estado atual.

Podes ver a tua imagem se acederes ao Docker Hub a partir do navegador.
![Docker-Hub: repositorio [Namespace]/docker-whale en la vista detallada Imagem: Docker-Hub: repositorio [Namespace]/docker-whale en la vista detallada](https://www.ionos.com/pt-pt/digitalguide/fileadmin/_processed_/5/e/csm_docker-hub-push-result_56530d8ebc.webp)
Se quiseres carregar várias imagens num único repositório, utiliza tags diferentes para representar as diferentes versões das imagens. Por exemplo:
[Namespace]/docker-whale:latest
[Namespace]/docker-whale:version1
[Namespace]/docker-whale:version2No separador «Tags», pode aceder a uma visão geral de todas as versões de imagens disponíveis num repositório.

Pelo contrário, as imagens de projetos diferentes devem estar armazenadas em repositórios separados.
Depois de carregar a imagem com sucesso, esta ficará disponível no repositório público para todos os utilizadores do mundo.
- Verificação: verifique se a imagem foi carregada corretamente, tentando descarregá-la.
Primeiro, elimine a versão local da imagem para poder descarregar uma cópia com a mesma etiqueta; caso contrário, o Docker poderá avisar-lhe que a imagem que pretende já se encontra na sua versão mais recente.

Elimine as imagens locais do Docker utilizando o comando docker rmi juntamente com o ID da imagem, que pode ser obtido com docker images. Se ocorrer algum conflito, ou seja, se o Docker indicar que o ID da imagem está a ser utilizado noutros repositórios ou num contentor, pode forçar a eliminação com a opção --force (abreviado: -f).
sudo docker rmi -f a8f2048c9ab8bash
Volte à visualização geral de todas as imagens:
sudo docker ImagesbashOs elementos eliminados não devem aparecer na saída do terminal. Utilize o comando pull e indique o repositório para descarregar uma nova cópia da imagem a partir do Docker Hub:
sudo docker pull [Namespace]/€bash
Mais tópicos e tutoriais sobre o Docker
O universo do Docker é vasto e diversificado. Com o tempo, desenvolveu-se um ecossistema ativo de ferramentas relacionadas com o Docker. O Docker é particularmente interessante para os administradores, especialmente quando se utilizam aplicações complexas que envolvem vários contentores em diferentes sistemas paralelos. O Docker oferece várias funcionalidades para orquestrar um cluster deste tipo. Pode encontrar mais detalhes sobre o assunto no nosso artigo sobre [orquestração de contentores Docker com Swarm e Compose Se quiser trabalhar com o Docker, pode encontrar mais tutoriais no Digital Guide:
- Volumes de contentores Docker
- Tutorial do Docker Compose
O Docker oferece uma versatilidade excecional em diversos cenários de aplicação. No nosso Guia Digital, encontrará os seguintes tutoriais:
- Redis em contentores Docker
- Instalar um servidor Teamspeak com o Docker
É importante reconhecer que o Docker nem sempre é a opção mais adequada. Na nossa análise das alternativas ao Docker, exploramos as principais alternativas. Além disso, apresentamos comparações diretas entre algumas alternativas e o Docker:
- Kubernetes vs. Docker
- Openshift vs. Docker
- Podman vs. Docker