У меня есть машина amd64 linux, которую я использую для сборки контейнера arm32v7.Когда docker build
встречает первую команду RUN, она выдает ошибку:
standard_init_linux.go:207: exec user process caused "no such file or directory"
. Это можно легко воспроизвести без файла docker, запустив docker run -it arm32v7/ubuntu:xenial
на хосте amd64 linux.
Я видел эту жалобу в другом месте, но большинство советов состоит в том, что вам нужно собрать контейнер arm32v7 на хосте arm32v7.Это довольно непрактично.
Я добился успеха в Ubuntu 19.04 и 18.10, добавив эмуляцию архитектуры:
sudo apt-get install -y qemu qemu-user-static qemu-user binfmt-support
После добавления этих пакетов ошибка исчезает, и я могу создать свой arm32v7.контейнер.
Но это работает НЕ для Ubuntu 18.04 или 16.04.
Есть ли общее решение, которое работает везде?