Nachdem ich ein Docker-Image aus einer dockerfile
erstellt habe, sehe ich, dass das Bild erfolgreich erstellt wurde. Aber was mache ich damit? Sollte ich es nicht als Container ausführen können?
Antworten
Zu viele Anzeigen?Ich hatte das gleiche Problem. Ich habe mein Docker-Image ausgeführt und es hat einen Container mit einer spezifischen CONTAINER_ID erstellt. Ich wollte mit demselben Container arbeiten:
Führen Sie zuerst Ihr Docker-Image aus:
docker run -it -p 8888:8888 -p 6006:6006 -v ~/:/host waleedka/modern-deep-learning
Dann listen Sie alle Container auf, die Sie erstellt haben:
sudo docker ps -a
Und wählen Sie den Container aus, mit dem Sie arbeiten möchten (meiner ist 167ddd6d7f15):
sudo docker start -ai 167ddd6d7f15
Um eine Liste aller Bilder auf Ihrem Docker-Host anzuzeigen, führen Sie aus:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
apache_snapshot latest 13037686eac3 vor 22 Sekunden 249MB
ubuntu latest 00fd29ccc6f1 vor 3 Wochen 111MB
Jetzt können Sie das Docker-Image als Container im interaktiven Modus ausführen:
$ docker run -it apache_snapshot /bin/bash
ODER falls Sie keine Bilder lokal haben, suchen Sie Docker Hub nach einem Bild zum Herunterladen:
$ docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu ist ein Debian... 6759 [OK]
dorowu/ubuntu-desktop-lxde-vnc Ubuntu mit Openss... 141 [OK]
rastasheep/ubuntu-sshd Dockerisiertes SSH Se... 114 [OK]
ansible/ubuntu14.04-ansible Ubuntu 14.04 LTS m... 88 [OK]
ubuntu-upstart Upstart ist ein Eve... 80 [OK]
Holen Sie das Docker-Image aus einem Repository mit dem Befehl docker pull:
$ docker pull ubuntu
Führen Sie das Docker-Image als Container aus:
$ docker run -it ubuntu /bin/bash
Hier ist ein Beispiel, wie man einen Webdev-Service in Docker ausführt. Der Name des Images ist morrisjobke/webdav. Du kannst es von Docker Hub herunterladen.
Nachdem du diese Images ausgeführt hast, kannst du dann auf die WebDAV Instanz unter http://localhost:8888/webdav
zugreifen. Intern wird der Ordner /var/webdav
als WebDAV Root genutzt.
Du kannst diesen Container auf folgende Weise ausführen:
$ docker run -d -e USERNAME=test -e PASSWORD=test -p 8888:80 morrisjobke/webdav
Da Sie ein Bild aus der Dockerdatei erstellt haben, befindet sich das Bild derzeit nicht im aktiven Zustand. Um zu funktionieren, müssen Sie dieses Bild innerhalb eines Containers ausführen.
Der Befehl $ docker images
zeigt an, wie viele Bilder sich derzeit im lokalen Repository befinden. und
docker ps -a
zeigt an, wie viele Container derzeit verfügbar sind, d.h. die Liste der aktiven und beendeten Container.
Es gibt zwei Möglichkeiten, das Bild im Container auszuführen:
$ docker run [OPTIONEN] BILD[:TAG|@DIGEST] [BEFEHL] [ARG...]
Im Hintergrundmodus:
-d=false: Hintergrundmodus: Container im Hintergrund ausführen, neue Container-ID drucken
Im interaktiven Modus:
-i :STDIN offen halten, auch wenn nicht angehängt
Hier ist der Docker-Ausführungsbefehl
$ docker run bildname:tagname
Für weitere Klarstellungen zur Docker-Ausführung können Sie Docker-Ausführungsreferenz besuchen.
Es ist das beste Material, um Docker zu verstehen.
Hey,
Folgen Sie nur 5 Schritte, um das Docker-Image als Container auszuführen
-
docker build -t dockerImageName .
-
docker run -t -d -p 3030:3000 --name containerName dockerImageName
Sie können Ihren eigenen neuen Container-Namen angeben
- Überprüfen Sie, ob der Container läuft
docker ps -all 4. Öffnen Sie schließlich Ihren Google Chrome und geben Sie localhost:3030 ein
Sie haben das Docker-Image erfolgreich als Container ausgeführt Herzlichen Glückwunsch :)
- Wenn der Docker-Container im Zustand "beendet" ist, geben Sie den unten stehenden Befehl ein, um ihn auszuführen
docker start ContainerId