debootstrap не может создать старый образ i386 для Ubuntu для докера

Я пытаюсь создать образ докера с помощью debootstrap. Я хотел бы создать образ Ubuntu 8.04 i386. Когда я бегу

sudo debootstrap --verbose --arch=i386 Харди Харди http://old-releases.ubuntu.com/ubuntu/

затем

Судо Тар -C Харди -C. | импорт sudo docker - выносливый

Это создает изображение, но когда я проверяю арку внутри контейнера с

uname -m

это дает мне x86_64, а не i386, как я просил раньше.

Любое предложение будет с благодарностью. Спасибо


РЕШЕНИЕ

Один из способов обойти эту проблему (см. Ответ) - добавить ENTRYPOINT ["linux32"] в Dockerfile.

2 ответа

Решение

Потому что архитектура исходит от ядра, которое исходит от хоста, а не от контейнера. Например, вот вывод uname двух очень разных дистрибутивов:

$ docker run alpine uname -a
Linux 5ef5dac8a8ac 4.1.13-boot2docker #1 SMP Fri Nov 20 19:05:50 UTC 2015 x86_64 Linux
$ docker run debian uname -a
Linux c47f04c71efb 4.1.13-boot2docker #1 SMP Fri Nov 20 19:05:50 UTC 2015 x86_64 GNU/Linux

Они оба предполагают ядро ​​и архитектуру хоста. Ответ даже лучше, чем мой: https://superuser.com/a/889474/73766

Я копирую ответ jpetazzo из

https://github.com/docker/docker/issues/611

uname will always tell you 64 bits. Look at e.g. "file /bin/sh" to see the real arch of the filesystem.

Другие вопросы по тегам