2016-10-21 13 views
9

Ich habe ein Docker-Image erstellt, das ein Python-Skript basierend auf einem Centos-Image ist. Dieses Bild funktioniert im Host-System. Dann habe ich dieses Bild im tar.gz Format konvertiert. Danach, als ich diese tar.gz-Datei in den Docker-Host (in einem Ubuntu-System) importiert habe, ist es richtig gemacht und die Docker-Bilderliste zeigt mir das dort aufgeführte Bild. Dann habe ich versucht, den Behälter im interaktiven Modus mit dem folgenden Befehl auszuführen:Docker-Container läuft nicht

$docker run -it image_name /bin/bash 

es führt den folgenden Fehler:

docker: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"/bin/bash\\\": stat /bin/bash: no such file or directory\"\n". 

Obwohl docker run -it image_name /bin/bash Befehl wird für alle anderen Bilder in meinem System arbeiten. Ich habe fast alle Mittel ausprobiert, aber abgesehen von diesem Fehler keine Ausgabe erhalten.

+0

Bitte aktualisieren Sie die Frage, um die genaue Befehlszeile anzuzeigen, die Sie zum Exportieren des Bildes in eine TAR-Datei verwendet haben, und die genaue Befehlszeile, die Sie zum Importieren auf dem anderen Host verwendet haben. – larsks

+0

Ich gehe davon aus, dass Sie eine "Docker speichern", um das Bild in eine 'tar' -Datei speichern, komprimieren dann mit 'gzip' und mit' Docker Load' laden Sie das Bild in der 'tar.gz'. Ich empfehle Ihnen, mit unkomprimiertem Format zu versuchen, nur tar. –

+1

Möglicherweise ist Ihr Bild nicht bash installiert. Versuchen Sie 'docker run -it Bildname/bin/sh' – joelnb

Antwort

2

docker run -it image_name /bin/sh funktioniert für mich! (Docker Bild, wie Alpine, hat keine /bin/bash).

0

ich hatte das gleiche Problem, und es wurde beschlossen, nachdem die Schritte in diesem Beitrag beschriebenen folgenden ... https://www.jamescoyle.net/how-to/1512-export-and-import-a-docker-image-between-nodes

Statt das Docker Bildes (I) als TAR von Speicher und Importieren, müssen wir Begehe den verlassenen Container basierend auf dem Bild (I) als neues Bild (N). Speichern Sie das neu festgeschriebene Bild (N) als .tar-Datei, um es in eine neue Umgebung zu importieren.

Hope this helps ...

1

ich nur in das gleiche Problem habe laufen nach Docker für Windows aktualisieren. Es scheint, dass es einige Bildebenen beschädigt hat.

ich gelöscht alle zwischengespeicherten Container und Bilder, indem Sie:

docker ps -qa|xargs docker rm -f 
docker images -q|xargs docker rmi 

Der letzte Befehl ein paar Fehler zurückgegeben (etwas zurück Bilder gab es nicht mehr).

Dann habe ich den Dienst neu gestartet und alles lief wieder.