Criar imagem compatível com arm e subir no dockerhub

Para criar uma imagem Docker compatível com a arquitetura `aarch64` (ARM64), você pode seguir os passos abaixo:

1. **Instale o QEMU**:

Antes de criar uma imagem multiarquitetura que inclua a arquitetura ARM64 em um sistema x86-64, você precisa instalar o emulador QEMU. O QEMU permitirá que você construa a imagem para uma arquitetura diferente da sua máquina host.

No Ubuntu, você pode instalar o QEMU com o seguinte comando:

```bash
sudo apt-get install qemu-user-static
```

Certifique-se de que o QEMU está instalado na sua máquina.

2. **Crie um Dockerfile Multiarquitetura**:

Crie um Dockerfile que seja compatível com múltiplas arquiteturas. Você pode usar uma imagem de base multiarquitetura como `arm64v8/nginx` para a arquitetura ARM64. Aqui está um exemplo de Dockerfile:

```Dockerfile
# Use uma imagem de base multiarquitetura compatível com ARM64
FROM arm64v8/nginx

# Copie sua página HTML de serviço em manutenção para o diretório de conteúdo padrão do Nginx
COPY service-em-manutencao.html /usr/share/nginx/html

# Exponha a porta 80 para o mundo externo
EXPOSE 80

# O comando de entrada padrão para iniciar o Nginx
CMD ["nginx", "-g", "daemon off;"]
```

Certifique-se de copiar o Dockerfile para o diretório onde está sua página HTML e outros arquivos necessários.

3. **Construa a Imagem Multiarquitetura**:

Utilize o comando `docker buildx` para criar a imagem multiarquitetura que inclua a arquitetura ARM64. Certifique-se de definir a plataforma correta:

```bash
docker buildx create --use
docker buildx build --platform linux/amd64,linux/arm64 -t seu-usuario/meu-projeto-manutencao:multiarch .
```

Isso criará uma imagem Docker compatível com as arquiteturas x86-64 e ARM64.

4. **Faça o Push da Imagem**:

Envie a imagem para o Docker Hub (ou outro registro de contêiner, se preferir) para que você possa puxá-la em sua máquina ARM64:

```bash
docker push seu-usuario/meu-projeto-manutencao:multiarch
```

Agora, você deve ter uma imagem Docker multiarquitetura que inclui a arquitetura `aarch64` (ARM64). Você pode puxar essa imagem em sua máquina ARM64 e executar o contêiner com a imagem correta. Certifique-se de ter o Docker configurado corretamente em sua máquina ARM64 e as dependências necessárias instaladas.

Você achou esse artigo útil?