[Docker] arm에서 x86_64(amd64) 사용하기 - MACH-CAU/UAM GitHub Wiki

성공 이유 분석

    QEMU 설정 확인 및 활성화
        qemu-user-static과 관련된 바이너리가 이미 설치되어 있었고, qemu-x86_64가 커널에 활성화되어 있었습니다. 이로 인해 AMD64 환경에서의 에뮬레이션이 가능해졌습니다.
        명령:

    sudo update-binfmts --enable qemu-x86_64

QEMU 설정 및 Docker 초기화

    multiarch/qemu-user-static 이미지를 통해 qemu-x86_64를 Docker에 등록하려는 시도가 있었으나, 일부 단계에서 실패했음에도 기본적인 binfmt_misc 지원 덕분에 Docker가 x86_64 아키텍처를 지원하게 되었습니다.
    명령:

    docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

NVIDIA Container Toolkit 설치

    Jetson에서는 NVIDIA Docker와 관련된 도구가 Docker와의 호환성을 보장합니다. nvidia-container-toolkit을 설치하면서 Docker 환경이 제대로 구성된 것으로 보입니다.
    명령:

sudo apt install -y nvidia-container-toolkit
sudo systemctl restart docker

올바른 Docker 실행 명령

    명시적으로 --platform linux/amd64 옵션을 지정하여 컨테이너를 실행했습니다. 이는 QEMU를 사용하여 AMD64 이미지를 실행할 수 있도록 설정한 핵심 명령입니다.
    명령:

docker run --rm --platform linux/amd64 --name ubu22 -it ubuntu:jammy