Execute uma imagem do Docker como um contêiner: Um guia prático para iniciantes
Este tutorial ensina você a executar com confiança imagens do Docker usando o docker run, com exemplos claros, dicas práticas e conselhos para solução de problemas.
Se estiver se perguntando como executar uma imagem do Docker, você não está sozinho. Não importa se você acabou de obter uma imagem do Docker Hub ou criou uma você mesmo, executá-la é a etapa principal que dá vida ao seu aplicativo.
Este tutorial é um guia para você que está começando a usar o comando docker run e muito mais. Você aprenderá:
O que são realmente as imagens e os contêineres do Docker.
Como executar uma imagem usando diferentes opções.
E como parar, remover e solucionar problemas de contêineres como um profissional.
Ao final, você estará confiante para lançar seus próprios contêineres e entender exatamente o que está acontecendo sob o capô.
Entendendo as imagens e os contêineres do Docker
Antes de entrar nos exemplos de comandos, vamos entender as imagens e os contêineres do Docker em termos simples.
Se você já estiver familiarizado com esses termos, fique à vontade para pular para a próxima seção!
O que é uma imagem do Docker?
Uma imagem do Docker é um projeto imutável para seu aplicativo. Ele define tudo o que o seu contêiner precisa: o código, as bibliotecas, o ambiente e as configurações. Depois de ter uma imagem, você pode usá-la para ativar um ou cem contêineres. Ele permanece consistente todas as vezes.
Então, de onde vêm as imagens? O Dockerfile os constrói. Um Dockerfile é onde você define qual imagem de base usar, quais dependências instalar e como seu aplicativo deve ser executado.
Quando seu Dockerfile estiver pronto, você executará o comando docker build. Esse comando segue as etapas do arquivo e as transforma em uma imagem reutilizável.
O que é um contêiner do Docker?
Um contêiner do Docker é a versão ativa de uma imagem do Docker. Ele permite que seu aplicativo seja executado em seu próprio ambiente isolado, garantindo um comportamento consistente, independentemente do sistema host.
Ele segue a abordagem "construir uma vez, executar em qualquer lugar", para que você não precise configurar manualmente o ambiente todas as vezes.
Imagem versus contêiner
A tabela a seguir compara uma imagem e um contêiner lado a lado:
Imagem
Contêineres
Uma imagem é um pacote padronizado que inclui todos os arquivos, binários, bibliotecas e configurações para executar um contêiner.
Uma instância de tempo de execução de uma imagem.
Uma imagem é imutável. Isso significa que ele não pode mudar até que seja reconstruído.
O contêiner é mutável. Você pode modificá-lo enquanto estiver em execução, instalar novos pacotes ou alterar arquivos de configuração.
Um Dockerfile (um conjunto de instruções para criar uma imagem) cria uma imagem.
Uma imagem cria um contêiner.
Seu computador armazena arquivos de imagem.
Um contêiner é executado na sua memória.
Se você não tem experiência com a conteinerização, nosso curso Introdução ao Docker o orientará nos conceitos básicos com exemplos práticos.
O comando docker run
Quando você executa o comando docker run, está dizendo ao Docker para criar um novo contêiner com base em uma imagem.
Em termos simples, você está iniciando um programa dentro de um ambiente isolado. Esse programa pode ser qualquer coisa, um simples aplicativo da Web ou um serviço completo com vários processos.
Sintaxe básica
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
[OPTIONS] - Sinalizadores extras para personalizar a execução do contêiner
IMAGE - O nome da imagem do Docker
[COMMAND] - (Opcional) Substitui o comando padrão na imagem.
[ARG...]- (Opcional) Argumentos.
Sinalizadores e opções comuns
-d: Modo separado: executa contêineres em segundo plano
-p: Mapeamento de portas: Para acessar um serviço (como uma API ou um aplicativo da Web) a partir do navegador, você precisa expor uma porta. Exemplo: -p 3000:3000 mapeia a porta 3000 da sua máquina para a porta 3000 do contêiner.
--name: O Docker dá ao contêiner um nome padrão, mas você pode usar esse sinalizador para dar a ele um novo nome.
-v: Você usa isso para manter todos os dados separados do próprio contêiner, garantindo que eles permaneçam mesmo que o contêiner seja interrompido ou excluído.
--rm: Quando o contêiner para, esse sinalizador o exclui automaticamente.
-e: Use-o para passar senhas de banco de dados ou chaves de API sem codificá-las em seu aplicativo.
Execução de contêineres interativos versus contêineres desanexados
O Docker executa contêineres de duas maneiras: modo interativo (-it) e modo de desconexão (-d). Cada modo tem casos de uso específicos, dependendo de seus objetivos.
-it: Modo interativo: Se quiser trabalhar diretamente dentro de um contêiner usando o terminal, você pode usar o sinalizador -it. Ele coloca o contêiner no modo interativo, para que você possa digitar comandos, ver a saída e trabalhar em tempo real.
-i: Mantém a entrada aberta para que você possa digitar comandos no contêiner
-t: Oferece a você uma interface semelhante a um terminal dentro do contêiner
-d: Modo independente: Ele executa o contêiner em segundo plano, de modo que seu terminal fica livre para outras tarefas.
Agora que você conhece a sintaxe do comando docker run, esta seção mostrará como criar imagens personalizadas e executá-las.
Usando imagens do Docker Hub
O Docker Hub é como uma biblioteca on-line para imagens de contêineres. Você pode pegar os pré-construídos ou carregar os seus para compartilhar com outras pessoas. Ele oferece suporte a repositórios públicos e privados, para que você possa compartilhar imagens abertamente com a comunidade ou implementar controles de acesso para suas equipes internas.
Execução de imagens personalizadas
Para executar uma imagem do Docker, primeiro você precisa criá-la usando um Dockerfile. Em seguida, você pode executá-lo localmente ou enviá-lo para o Docker Hub para compartilhar.
Então, primeiro vamos criar um Dockerfile. Aqui está um exemplo:
# Use official Python base image
FROM python:3.11-slim
# Set working directory in the container
WORKDIR /app
# Copy requirements file and install dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy the rest of the app code
COPY . .
EXPOSE 5000
# Set default command
CMD ["python","app.py"]Tecnologia
O que significa o Dockerfile acima?
FROM python:3.11-slimSe você não tiver uma imagem de base com a versão 3.11 do Python, poderá usar a imagem de base com a versão 3.11.
WORKDIR /app: Define /app como o diretório de trabalho dentro do contêiner.
COPY requirements.txt . Move todas as dependências da máquina local para o diretório de aplicativos do contêiner.
RUN pip install --no-cache-dir -r requirements.txtInstala as dependências no arquivo requirements.txt.
COPY . . Copia o código dos diretórios de trabalho atuais (aplicativos, arquivos de configuração e outros) para o diretório de aplicativos do contêiner.
CMD ["python", "app.py"]: executa o app.py quando você inicia um contêiner a partir dessa imagem.
Etapa 1. Criar Dockerfile
Vamos ver o que acontece quando você cria esse Dockerfile.
Um novo contêiner da sua imagem personalizada, my-python-app, é criado.
A porta 5000 no seu computador é mapeada para a porta 5000 no contêiner (-p 5000:5000).
O arquivo CMD ["python", "app.py"] é executado e executa o aplicativo.
O contêiner é executado em segundo plano devido à opção -d (modo desanexado).
Nesse momento, você pode acessar http://localhost:5000 no navegador e verá algo como o seguinte, o que significa que o aplicativo está em execução:
Se você trabalha com machine learning, estasimagens do Docker para ML e IA podemacelerar a configuração do seu ambiente.
Execução de imagens com configuração
Para alguns aplicativos, você pode precisar executar imagens com uma configuração específica. Aqui estão dois exemplos comuns.
Dados persistentes
Os contêineres armazenam dados temporariamente. Quando você os exclui, os dados desaparecem. Um volume é uma forma de armazenar dados fora do contêiner para que eles persistam mesmo que o contêiner seja removido ou reiniciado.
Para montar um volume, você precisa executar um comando como o seguinte:
docker run -v my-volume:/app/data my-imageTecnologia
Os dados gravados em /app/data são salvos no volume mesmo depois que o contêiner é removido.
Passagem de variáveis de ambiente
As variáveis de ambiente passam as definições de configuração para um contêiner do Docker em tempo de execução. Isso personaliza seus contêineres do Docker sem modificar suas imagens do Docker.
Você tem duas maneiras de passar variáveis de ambiente:
Você pode passar variáveis de ambiente usando o parâmetro -e. Aqui está um exemplo de comando:
docker run -eENV=production -eDEBUG=False my-imageTecnologia
Você pode criar um arquivo .env com todas as variáveis de ambiente e passá-lo para o comando. Aqui está um exemplo:
Quando um contêiner estiver em execução, você poderá visualizá-lo, interrompê-lo e acessá-lo. Vamos ver como você pode fazer isso.
Visualização de contêineres ativos
Para listar todos os contêineres Docker ativos em execução no seu sistema, execute o comando docker ps ou docker container ls. Esse comando exibe o ID do contêiner, a imagem, o comando, a porta, o status e outros detalhes.
Para ir além e remover contêineres, volumes, redes e imagens não utilizados, consulte o guia de poda do Docker.
Acesso a logs de contêineres e shell
Registros do docker - O comandodocker logs recupera em lote os registros presentes no momento da execução.
docker exec - docker exec permite que você execute um novo comando dentro de um contêiner em execução existente sem interrompê-lo ou reiniciá-lo. Pense nisso como a abertura de um novo terminal dentro do seu contêiner, para que você possa mexer, executar scripts, verificar logs ou depurar.
docker attach - docker attach conecta seu terminal diretamente ao processo principal de um contêiner em execução. Isso significa que você pode ver a saída em tempo real do contêiner (logs, prompts, etc.) e até mesmo interagir com ele se o processo aceitar entradas.
Solução de problemas comuns
Soluções simples para problemas comuns. Aqui estão alguns erros comuns durante a execução de imagens do Docker e como você pode lidar com eles.
Erro 1: "Resposta de erro do daemon: pull access denied for alpine-python, o repositório não existe ou pode exigir 'docker login': denied: o acesso solicitado ao recurso é negado."
O que isso significa: O Docker tentou extrair uma imagem, neste caso a imagemalpine-python do Docker Hub, mas a imagem não existe ou é privada, e você não está autenticado.
Como corrigir:
Verifique novamente o nome e a tag da imagem no Docker Hub.
Se for uma imagem privada, execute docker login para autenticar.
Certifique-se de que a imagem exista se você estiver extraindo de um registro personalizado.
Erro 2:"Nenhuma imagem foi encontrada: <nome da imagem>:<tag>"
O que isso significa: Você tentou executar ou marcar uma imagem localmente, mas a imagem (ou a marca especificada) não está disponível em seu sistema.
Como corrigir:
Use o site docker images paraverificar as imagens disponíveis.
A execução de uma imagem do Docker é uma das etapas mais importantes e capacitadoras do uso de contêineres, quer você esteja criando um servidor Web simples ou implantando um aplicativo complexo. Com apenas alguns comandos, como docker run, docker ps e docker stop, você agora está preparado para iniciar, gerenciar e solucionar problemas de contêineres com confiança.
Se você estiver pronto para ir além, tente criar sua própria imagem com um Dockerfile, explore os sinalizadores docker run avançados ou saiba como gerenciar vários contêineres com o Docker Compose.
Confira estes cursos para continuar sua jornada no Docker:
Docker intermediário: Aprenda o gerenciamento avançado de imagens, volumes e aplicativos de vários contêineres.
Posso executar vários contêineres a partir da mesma imagem do Docker?⌄
Sim, você pode executar vários contêineres a partir da mesma imagem. Cada contêiner é isolado e pode ter suas próprias configurações, portas e variáveis de ambiente.
Como posso passar segredos ou chaves de API de forma segura para um contêiner do Docker?⌄
Use o sinalizador -e para definir variáveis de ambiente ou use um arquivo .env e --env-file para passar segredos em tempo de execução sem codificá-los.
Como faço para executar uma imagem do Docker em segundo plano?⌄
Use o sinalizador -d com docker run para iniciar o contêiner no modo desconectado, permitindo que o terminal permaneça disponível para outros comandos.
Qual é a diferença entre docker exec e docker attach?⌄
docker exec abre uma nova sessão de shell dentro do contêiner, enquanto docker attach se conecta ao processo principal do contêiner e à sua saída em tempo real.
Por que recebo a mensagem "pull access denied" ao executar uma imagem?⌄
Isso geralmente significa que a imagem é privada ou está mal escrita. Verifique o nome, a tag e certifique-se de que você esteja conectado ao Docker Hub com docker login.
Como faço para manter os dados em um contêiner depois que ele parar?⌄
Use o sinalizador -v para montar um volume, garantindo que os dados sejam armazenados fora do contêiner e permaneçam intactos mesmo depois que o contêiner for removido.
Qual é a melhor maneira de executar um contêiner para fins de desenvolvimento?⌄
Use os sinalizadores -it para o modo interativo, juntamente com a montagem de volumes e variáveis de ambiente para simular um ambiente de desenvolvimento local.
Como posso descobrir quais portas estão em conflito no meu computador?⌄
Use o site lsof -i : para identificar qual processo está usando uma porta específica e, em seguida, interrompa-o ou use uma porta de host diferente para o seu contêiner.
Como posso visualizar os registros de um contêiner do Docker em execução?⌄
Use o comando docker logs para recuperar e analisar os registros da saída padrão e dos fluxos de erro do contêiner.
Srujana é redatora freelancer de tecnologia e tem um diploma de quatro anos em Ciência da Computação. Escrever sobre vários tópicos, incluindo ciência de dados, computação em nuvem, desenvolvimento, programação, segurança e muitos outros, é algo natural para ela. Ela gosta de literatura clássica e de explorar novos destinos.
Descubra todo o seu potencial no Docker e na ciência de dados com o nosso guia completo. Dá uma olhada nas certificações, trilhas de aprendizagem e dicas práticas do Docker.
Saiba como instalar e configurar o banco de dados MySQL dentro de contêineres do Docker. O tutorial inclui conceitos como conexão com servidores MySQL, execução de clientes MySQL para conexão com contêineres e assim por diante.
Este guia completo ensina os fundamentos do desenvolvimento backend com Python. Aprenda conceitos básicos, frameworks e boas práticas para começar a criar aplicações web.
Se estiver se perguntando como executar uma imagem do Docker, você não está sozinho. Não importa se você acabou de obter uma imagem do Docker Hub ou criou uma você mesmo, executá-la é a etapa principal que dá vida ao seu aplicativo.
Este tutorial é um guia para você que está começando a usar o comando
docker rune muito mais. Você aprenderá:Ao final, você estará confiante para lançar seus próprios contêineres e entender exatamente o que está acontecendo sob o capô.
Entendendo as imagens e os contêineres do Docker
Antes de entrar nos exemplos de comandos, vamos entender as imagens e os contêineres do Docker em termos simples.
Se você já estiver familiarizado com esses termos, fique à vontade para pular para a próxima seção!
O que é uma imagem do Docker?
Uma imagem do Docker é um projeto imutável para seu aplicativo. Ele define tudo o que o seu contêiner precisa: o código, as bibliotecas, o ambiente e as configurações. Depois de ter uma imagem, você pode usá-la para ativar um ou cem contêineres. Ele permanece consistente todas as vezes.
Então, de onde vêm as imagens? O Dockerfile os constrói. Um Dockerfile é onde você define qual imagem de base usar, quais dependências instalar e como seu aplicativo deve ser executado.
Quando seu Dockerfile estiver pronto, você executará o comando
docker build. Esse comando segue as etapas do arquivo e as transforma em uma imagem reutilizável.O que é um contêiner do Docker?
Um contêiner do Docker é a versão ativa de uma imagem do Docker. Ele permite que seu aplicativo seja executado em seu próprio ambiente isolado, garantindo um comportamento consistente, independentemente do sistema host.
Ele segue a abordagem "construir uma vez, executar em qualquer lugar", para que você não precise configurar manualmente o ambiente todas as vezes.
Imagem versus contêiner
A tabela a seguir compara uma imagem e um contêiner lado a lado:
Imagem
Contêineres
Uma imagem é um pacote padronizado que inclui todos os arquivos, binários, bibliotecas e configurações para executar um contêiner.
Uma instância de tempo de execução de uma imagem.
Uma imagem é imutável. Isso significa que ele não pode mudar até que seja reconstruído.
O contêiner é mutável. Você pode modificá-lo enquanto estiver em execução, instalar novos pacotes ou alterar arquivos de configuração.
Um Dockerfile (um conjunto de instruções para criar uma imagem) cria uma imagem.
Uma imagem cria um contêiner.
Seu computador armazena arquivos de imagem.
Um contêiner é executado na sua memória.
Se você não tem experiência com a conteinerização, nosso curso Introdução ao Docker o orientará nos conceitos básicos com exemplos práticos.
O comando docker run
Quando você executa o comando
docker run, está dizendo ao Docker para criar um novo contêiner com base em uma imagem.Em termos simples, você está iniciando um programa dentro de um ambiente isolado. Esse programa pode ser qualquer coisa, um simples aplicativo da Web ou um serviço completo com vários processos.
Sintaxe básica
docker run [OPTIONS] IMAGE [COMMAND] [ARG...][OPTIONS]- Sinalizadores extras para personalizar a execução do contêinerIMAGE- O nome da imagem do Docker[COMMAND]- (Opcional) Substitui o comando padrão na imagem.[ARG...]- (Opcional) Argumentos.Sinalizadores e opções comuns
-d: Modo separado: executa contêineres em segundo plano-p: Mapeamento de portas: Para acessar um serviço (como uma API ou um aplicativo da Web) a partir do navegador, você precisa expor uma porta. Exemplo:-p 3000:3000mapeia a porta 3000 da sua máquina para a porta 3000 do contêiner.--name: O Docker dá ao contêiner um nome padrão, mas você pode usar esse sinalizador para dar a ele um novo nome.-v: Você usa isso para manter todos os dados separados do próprio contêiner, garantindo que eles permaneçam mesmo que o contêiner seja interrompido ou excluído.--rm: Quando o contêiner para, esse sinalizador o exclui automaticamente.-e: Use-o para passar senhas de banco de dados ou chaves de API sem codificá-las em seu aplicativo.Execução de contêineres interativos versus contêineres desanexados
O Docker executa contêineres de duas maneiras: modo interativo (
-it) e modo de desconexão (-d). Cada modo tem casos de uso específicos, dependendo de seus objetivos.-it: Modo interativo: Se quiser trabalhar diretamente dentro de um contêiner usando o terminal, você pode usar o sinalizador-it. Ele coloca o contêiner no modo interativo, para que você possa digitar comandos, ver a saída e trabalhar em tempo real.-i: Mantém a entrada aberta para que você possa digitar comandos no contêiner-t: Oferece a você uma interface semelhante a um terminal dentro do contêiner-d: Modo independente: Ele executa o contêiner em segundo plano, de modo que seu terminal fica livre para outras tarefas.Mantenha os principais comandos e práticas recomendadas na ponta dos dedos com a nossa folha de dicas do Docker para ciência de dados.
Extração e execução de imagens do Docker
Agora que você conhece a sintaxe do comando
docker run, esta seção mostrará como criar imagens personalizadas e executá-las.Usando imagens do Docker Hub
O Docker Hub é como uma biblioteca on-line para imagens de contêineres. Você pode pegar os pré-construídos ou carregar os seus para compartilhar com outras pessoas. Ele oferece suporte a repositórios públicos e privados, para que você possa compartilhar imagens abertamente com a comunidade ou implementar controles de acesso para suas equipes internas.
Execução de imagens personalizadas
Para executar uma imagem do Docker, primeiro você precisa criá-la usando um Dockerfile. Em seguida, você pode executá-lo localmente ou enviá-lo para o Docker Hub para compartilhar.
Então, primeiro vamos criar um Dockerfile. Aqui está um exemplo:
O que significa o Dockerfile acima?
FROM python:3.11-slimSe você não tiver uma imagem de base com a versão 3.11 do Python, poderá usar a imagem de base com a versão 3.11.WORKDIR /app: Define/appcomo o diretório de trabalho dentro do contêiner.COPY requirements.txt .Move todas as dependências da máquina local para o diretório de aplicativos do contêiner.RUN pip install --no-cache-dir -r requirements.txtInstala as dependências no arquivo requirements.txt.COPY . .Copia o código dos diretórios de trabalho atuais (aplicativos, arquivos de configuração e outros) para o diretório de aplicativos do contêiner.Etapa 1. Criar Dockerfile
Vamos ver o que acontece quando você cria esse Dockerfile.
Observação: Para que esse comando funcione, você deve primeiro ter o Docker configurado em seu sistema; este guia o ajuda a fazer isso.
Veja o que acontece nos bastidores quando você executa o comando de compilação:
/app.requirements.txté copiado para o contêiner.pip install./app.my-python-app.Etapa 2: Executar o Dockerfile
Depois que a imagem for criada, você poderá executá-la usando:
Veja o que acontece quando você o executa:
my-python-app, é criado.-p 5000:5000).CMD ["python", "app.py"] é executado e executa o aplicativo.-d(modo desanexado).Nesse momento, você pode acessar
http://localhost:5000no navegador e verá algo como o seguinte, o que significa que o aplicativo está em execução:Se você trabalha com machine learning, estas imagens do Docker para ML e IA podemacelerar a configuração do seu ambiente.
Execução de imagens com configuração
Para alguns aplicativos, você pode precisar executar imagens com uma configuração específica. Aqui estão dois exemplos comuns.
Dados persistentes
Os contêineres armazenam dados temporariamente. Quando você os exclui, os dados desaparecem. Um volume é uma forma de armazenar dados fora do contêiner para que eles persistam mesmo que o contêiner seja removido ou reiniciado.
Para montar um volume, você precisa executar um comando como o seguinte:
Os dados gravados em
/app/datasão salvos no volume mesmo depois que o contêiner é removido.Passagem de variáveis de ambiente
As variáveis de ambiente passam as definições de configuração para um contêiner do Docker em tempo de execução. Isso personaliza seus contêineres do Docker sem modificar suas imagens do Docker.
Você tem duas maneiras de passar variáveis de ambiente:
-e. Aqui está um exemplo de comando:.envcom todas as variáveis de ambiente e passá-lo para o comando. Aqui está um exemplo:Exemplo de arquivo
.env:Gerenciando contêineres em execução
Quando um contêiner estiver em execução, você poderá visualizá-lo, interrompê-lo e acessá-lo. Vamos ver como você pode fazer isso.
Visualização de contêineres ativos
Para listar todos os contêineres Docker ativos em execução no seu sistema, execute o comando
docker psoudocker container ls. Esse comando exibe o ID do contêiner, a imagem, o comando, a porta, o status e outros detalhes.Para incluir todos os contêineres, não apenas os que estão em execução, como os que saíram ou foram criados, mas não iniciados, use o sinalizador
-a:Para visualizar apenas o contêiner criado mais recentemente, use o sinalizador
-l(last):Se você quiser ver todos os contêineres classificados por hora de criação, com o mais recente listado primeiro, execute:
Parar e remover contêineres
Para interromper um contêiner específico em execução, use o comando
docker stopseguido do ID ou nome do contêiner:Para interromper todos os contêineres em execução, use:
$(docker ps -q)retorna uma lista de todos os IDs de contêineres em execução.Quando um contêiner é interrompido, você pode removê-lo usando:
Para remover todos os contêineres parados, execute:
Para ir além e remover contêineres, volumes, redes e imagens não utilizados, consulte o guia de poda do Docker.
Acesso a logs de contêineres e shell
docker logsrecupera em lote os registros presentes no momento da execução.docker execpermite que você execute um novo comando dentro de um contêiner em execução existente sem interrompê-lo ou reiniciá-lo. Pense nisso como a abertura de um novo terminal dentro do seu contêiner, para que você possa mexer, executar scripts, verificar logs ou depurar.docker attachconecta seu terminal diretamente ao processo principal de um contêiner em execução. Isso significa que você pode ver a saída em tempo real do contêiner (logs, prompts, etc.) e até mesmo interagir com ele se o processo aceitar entradas.Solução de problemas comuns
Soluções simples para problemas comuns. Aqui estão alguns erros comuns durante a execução de imagens do Docker e como você pode lidar com eles.
Erro 1: "Resposta de erro do daemon: pull access denied for alpine-python, o repositório não existe ou pode exigir 'docker login': denied: o acesso solicitado ao recurso é negado."
alpine-pythondo Docker Hub, mas a imagem não existe ou é privada, e você não está autenticado.docker loginpara autenticar.Erro 2: "Nenhuma imagem foi encontrada: <nome da imagem>:<tag>"
docker imagesparaverificar as imagens disponíveis.Erro 3: "manifesto para <image>:<tag> não encontrado: manifesto desconhecido: O manifesto nomeado não é conhecido pelo registro."
docker pull
:para obter uma versão válida.Dockerfilecorreto e crie a imagem com ele:Conflitos de portas e falhas de conexão
Os conflitos de porta ocorrem quando vários contêineres ou um contêiner e outro aplicativo tentam acessar a mesma porta.
Conclusão
A execução de uma imagem do Docker é uma das etapas mais importantes e capacitadoras do uso de contêineres, quer você esteja criando um servidor Web simples ou implantando um aplicativo complexo. Com apenas alguns comandos, como
docker run,docker psedocker stop, você agora está preparado para iniciar, gerenciar e solucionar problemas de contêineres com confiança.Se você estiver pronto para ir além, tente criar sua própria imagem com um Dockerfile, explore os sinalizadores
docker runavançados ou saiba como gerenciar vários contêineres com o Docker Compose.Confira estes cursos para continuar sua jornada no Docker: