Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

2.5K
Views
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 answers
Answer question

0

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

docker buildx build --platform linux/amd64 .

over 4 years ago · Santiago Trujillo Report

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 Report

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 Report

0

Puede configurar la variable de entorno DOCKER_DEFAULT_PLATFORM

 export DOCKER_DEFAULT_PLATFORM=linux/amd64
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!