Образ, созданный на Mac OSX с процессором M1, развернут в экземпляре EC2. Но когда скрипты запускаются, выдает ошибку:
standard_init_linux.go:219: exec user process caused: exec format error
В другом месте на Stackoverflow это объясняется несоответствием архитектуры ОС. Конечно, запуск uname -m в экземпляре EC2 показывает, что это x86_64, а docker image inspect показывает, что контейнер имеет архитектуру arm64.
Вот чего я не понимаю. uname -m на моем Mac показывает, что это тоже x86_64. Так как же контейнер наследует другую архитектуру?
Что еще более важно, как мне создать образ на моем Mac, который я могу запустить на EC2?
Файл Docker - это просто
FROM python
WORKDIR /
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY src /src
с src, содержащим в настоящее время несколько простых скриптов Python, выполняемых таким образом:
docker run container/name python test.py
Это отлично работает на моем Mac, но при выполнении на AWS дает указанную выше ошибку.