buildx build --platform=linux/arm64,linux/amd64
최신 업데이트 후 docker 명령을 사용하면 오류가 발생할 수 있습니다.
ERROR: multiple platforms feature is currently not supported for docker driver. Please switch to a different driver (eg. "docker buildx create --use")
답변1
docker buildx create
이제 빌더를 생성하려면 명령에서 명시적인 플랫폼을 사용해야 합니다.
docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder
docker buildx inspect --bootstrap
docker buildx build --platform=linux/arm64,linux/amd64 --push --tag project-name:latest -f ./project-name/Dockerfile .
docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder
- 이 명령은 새 빌더 인스턴스를 생성합니다. 이 경우 linux/arm64 및 linux/amd64 플랫폼을 모두 지원합니다. --name 플래그는 빌더 "multi-platform-builder"의 이름을 설정합니다.
docker buildx inspect --bootstrap
이 명령은 이전 단계에서 생성된 빌더를 확인하고 필요한 설정 또는 구성을 수행합니다. --bootstrap 플래그는 빌더가 아직 초기화되지 않은 경우 초기화되어야 함을 나타냅니다.
docker buildx build --platform=linux/arm64,linux/amd64 --push --tag project-name:latest -f ./project-name/Dockerfile .
이 명령은 이전에 생성된 빌더를 사용하여 Docker 이미지를 빌드합니다.
- 이
--platform
플래그는 첫 번째 명령과 유사하게 이미지를 빌드해야 하는 플랫폼을 지정합니다. - 이
--push
플래그는 빌드된 이미지를 컨테이너 레지스트리에 푸시해야 함을 나타냅니다. - --tag 플래그는 이미지에 대한 태그를 설정합니다(이 경우 "project-name:latest").
- 이
-f
플래그는 이미지를 빌드하는 데 사용되는 Dockerfile의 경로를 지정합니다(이 경우 "./project-name/Dockerfile"). - 마지막 "."은 이미지에 추가할 파일이 포함된 디렉터리인 빌드 컨텍스트를 나타냅니다.