Wenn ich 32-Bit-CentOS-5-Docker-Bild erstellen möchte ich CPU-Architektur als i386/i686 dort gemeldet werden (Installer, der in diesem Container geprüft Architektur getestet und installiert 64-Bit-Binärdateien anstelle von 32 Bit). Ich habe yum Variablen und erstellt uname Wrapper, so yum und Kontrollen in Bash-Skripte arbeiten:Wie gefälschte CPU Architektur in Docker Container?
bash-3.2# uname -a
Linux c538cf9bf508 3.13.0-24-generiC#47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 i686 i686 i386 GNU/Linux
bash-3.2# uname -p -m -i
i686 i686 i386
bash-3.2# cat /etc/yum/vars/arch && cat /etc/yum/vars/basearch
i686
i386
Aber Python berichtet noch 64-Bit-
bash-3.2# python
Python 2.4.3 (#1, Jan 9 2013, 06:49:54)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os, platform
>>> platform.machine()
'x86_64'
>>> os.uname()
('Linux', 'c538cf9bf508', '3.13.0-24-generic', '#47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014', 'x86_64')
Gibt es eine Möglichkeit zu fälschen CPU-Architektur überall?
Ich versuche es vor zu verwenden, aber nur Paket 64bit gefunden Jetzt habe ich es im Paket Setarch gefunden und es funktioniert gut, danke. Ich stelle es als Einstiegspunkt ein und es sollte mein Problem lösen. – ISanych
Toller Punkt - Ich habe die Antwort aktualisiert, um den 'ENTRYPOINT'-Vorschlag einzuschließen. –
Nur eine Anmerkung: Ich habe toopher/centos-i386: centos6 angefordert, also funktioniert es jetzt gut aus der Box: https://github.com/toopher/toophon-docker/pull/1 –