Guia Detalhado: Criar e Enviar Imagens Docker para o Magalu Cloud Container Registry (MCR)
Este documento descreve o processo para criar uma imagem Docker e enviá-la ao Magalu Cloud Container Registry (MCR), o registro de contêineres privado da Magalu Cloud.
Pré-requisitos
- Conta na Magalu Cloud: Acesso ao Portal Magalu Cloud
- Instalação do CLI do Magalu Cloud
- Docker instalado:
- Instale o Docker em sua máquina local.
- Valide a instalação:
docker --version
Passo 1: Criar uma Imagem Docker
1.1 Escrever um Dockerfile
Crie um arquivo Dockerfile
no diretório do seu projeto. Exemplo para uma aplicação Node.js:
# Usa uma imagem base leve
FROM node:18-alpine
# Define o diretório de trabalho
WORKDIR /app
# Copia os arquivos do projeto
COPY package.json package-lock.json ./
RUN npm install --production
# Copia o código-fonte
COPY . .
# Expõe a porta da aplicação
EXPOSE 3000
# Comando de inicialização
CMD ["node", "index.js"]
1.2 Construir a Imagem Localmente
Execute o comando abaixo para construir a imagem:
docker build -t minha-aplicacao-node:1.0.0 .
- Explicação:
-t
: Tag da imagem (formato:<nome>:<versão>
)..
: Diretório onde o Dockerfile está localizado.
1.3 Testar a Imagem Localmente
Execute um contêiner temporário para validar:
docker run -d -p 3000:3000 --name app-test minha-aplicacao-node:latest
Acesse http://localhost:3000
para verificar se a aplicação está funcionando.
Passo 2: Autenticar no Magalu Cloud Container Registry (MCR)
Passo 3: Taggear a Imagem para o MCR
Exemplo:
docker tag minha-aplicacao-node:1.0.0 container-registry.br-se1.magalu.cloud/minha-aplicacao-node:1.0.0
Passo 4: Enviar a Imagem para o MCR
Exemplo:
docker push container-registry.br-ne1.magalu.cloud/meu-projeto/minha-aplicacao-node:1.0.0
Saída Esperada:
The push refers to repository [container-registry.br-ne1.magalu.cloud/meu-projeto/minha-aplicacao-node]
a1b2c3d4e5f6: Pushed
1.0.0: digest: sha256:1234...5678 size: 1234
Passo 5: Verificar a Imagem no MCR
Via CLI:
curl -H "Authorization: Bearer $ACCESS_TOKEN" https://container-registry.br-ne1.magalu.cloud/meu-projeto/minha-aplicacao-node/tags/list
Dicas e Boas Práticas
- Nomenclatura de Tags:
- Evite usar
latest
. Prefira versões semânticas (ex:1.0.0
,1.1.0-rc1
).
- Evite usar
- Limpeza Local:
docker rmi container-registry.br-ne1.magalu.cloud/meu-projeto/minha-aplicacao-node:1.0.0 # Remove a imagem local
- Segurança:
- Use
docker scan
para verificar vulnerabilidades antes do push. - Revogue tokens de acesso não utilizados.
- Use
Troubleshooting
Erro | Solução |
---|---|
denied: access forbidden | Verifique as credencias do token. |
failed to connect to MCR | Confira a conectividade de rede e o DNS. |
unauthorized: authentication required | Refaça o login com docker login . |
Referências
Para suporte técnico adicional, contate-nos via suporte@magalu.cloud ou no Portal de Suporte.