Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

348
Vistas
Obligar a docker a usar la plataforma linux/amd64 de forma predeterminada en macOS

La versión beta actual de docker requiere que especifique --platform=linux/amd64 cada vez que necesite build o run una imagen/contenedor amd64.

La documentación menciona

Al ejecutar una imagen compatible con varias arquitecturas, Docker seleccionará automáticamente una variante de imagen que coincida con su sistema operativo y arquitectura.

La documentación no especifica una forma de alterar este comportamiento automático usando variables env. Parece ignorar tanto BUILDPLATFORM como TARGETPLATFORM.

¿Hay alguna otra forma de obligar a la docker a ejecutar todos los comandos de build y run con una plataforma linux/amd64 en lugar de linux/arm64/v8 de forma predeterminada en macOS que se ejecuta en apple-silicon?

over 4 years ago · Santiago Trujillo
4 Respuestas
Responde la pregunta

0

Puede usar buildx (mobi) que admite cli para la plataforma.

docker buildx build --platform linux/amd64 .

over 4 years ago · Santiago Trujillo Denunciar

0

Las imágenes de Docker creadas con Apple Silicon (u otra arquitectura basada en ARM64) pueden generar problemas al implementar las imágenes en un entorno AMD64 basado en Linux o Windows (p. ej., AWS EC2, ECS, etc.). Por ejemplo, puede intentar cargar su imagen de Docker creada en el chip M1 a un repositorio de AWS ECR y no se ejecuta. Por lo tanto, necesita una forma de compilar imágenes basadas en AMD64 en la arquitectura ARM64, ya sea usando Docker build (para imágenes individuales) o docker-compose build (por ejemplo, para aplicaciones de varias imágenes que se ejecutan en una red docker compose).

Para crear imágenes de una sola ventana acoplable: configure su variable de entorno usando la línea de comando o modificando su archivo .bashrc o .zshenv como se sugiere en la respuesta aceptada.

 export DOCKER_DEFAULT_PLATFORM=linux/amd64

Alternativamente, en el Dockerfile, incluya el siguiente indicador en el comando FROM (para una compilación de Dockerfile de varias etapas, el indicador solo es necesario para la primera etapa):

 FROM --platform=linux/amd64 python:3.7-alpine

Para crear imágenes como parte de una compilación docker-compose , incluya la platform: linux/amd64 para cada servicio. Por ejemplo:

 services: frontend: platform: linux/amd64 build: frontend ports: - 80:80 depends_on: - backend backend: platform: linux/amd64 build: backend
over 4 years ago · Santiago Trujillo Denunciar

0

No necesita exportar la variable env como se menciona en una de las respuestas, puede ejecutarla como parte del comando una sola vez haciendo:

 DOCKER_DEFAULT_PLATFORM=linux/amd64 docker-compose build

Tenga en cuenta que si ya descargó la imagen para una plataforma diferente, Docker seguirá usando esa imagen sin importar qué plataforma especifique como predeterminada.

over 4 years ago · Santiago Trujillo Denunciar

0

Puede configurar la variable de entorno DOCKER_DEFAULT_PLATFORM

 export DOCKER_DEFAULT_PLATFORM=linux/amd64
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda