webentwicklung-frage-antwort-db.com.de

Führen Sie ein Docker-Image als Container aus

Ich habe ein Docker-Image aus einer Docker-Datei erstellt. Ich sehe, dass das Image erfolgreich erstellt wurde, aber was mache ich damit? Sollte es nicht als Container laufen können?

Neu für Docker, also wahrscheinlich ein Missverständnis für mich. Jede Hilfe wäre großartig.

501
boom

Die genaue Art der Ausführung hängt davon ab, ob Sie dem Bild einen Tag/Namen gegeben haben oder nicht.

$ docker images
[email protected]:~# docker images
REPOSITORY          TAG                 ID                  CREATED             SIZE
ubuntu              12.04               8dbd9e392a96        4 months ago        131.5 MB (virtual 131.5 MB)

Mit einem Namen (verwenden wir ubuntu ):

$ docker run -i -t ubuntu:12.04 /bin/bash

Ohne Namen nur mit der ID:

$ docker run -i -t 8dbd9e392a96 /bin/bash

Weitere Informationen finden Sie unter https://docs.docker.com/engine/reference/run/ .

712
Andy

Führen Sie folgende Schritte aus:

  1. $ docker images

    sie erhalten eine Liste aller lokalen Docker-Bilder mit den angegebenen Tags.

  2. $ docker run image_name:tag_name

    Wenn Sie tag_name nicht angegeben haben, wird das Bild automatisch mit dem 'neuesten' Tag ausgeführt.

    Anstelle von image_name können Sie auch die Image-ID (kein Tag-Name) angeben.

60
  • So listen Sie die Docker-Bilder auf
$ docker images
  • Wenn Ihre Anwendung mit Port 80 ausgeführt werden soll und Sie einen anderen Port für die lokale Bindung bereitstellen können, z. B. 8080
$ docker run -d --restart=always -p 8080:80 image_name:version
32

Mit können Sie Ihre verfügbaren Bilder anzeigen

docker images

Sie können dann im getrennten Modus ausgeführt werden, sodass Ihr Terminal weiterhin verwendet werden kann. Sie haben mehrere Optionen, um es unter Verwendung des Repository-Namens (mit oder ohne Tag) oder der Image-ID auszuführen

docker run -d repository
docker run -d repository:tag
docker run -d image_id

Dann können Sie überprüfen, ob Ihr Container mit ausgeführt wird

docker ps

docker ps gibt Ihnen eine Container-ID, die Sie verwenden können, oder nur das Zeichen 2/3 firsts, um mit in Ihren Container zu gelangen

docker exec -it container_id /bin/bash

und Sie können es mit docker stop container_id und docker rm container_id stoppen

Sie können Ihren Container auch mit -rm Argumenten ausführen. Wenn Sie also Ihren Container anhalten, wird er automatisch entfernt.

18
amdev

Rufen Sie mit dem folgenden Befehl den Namen oder die ID des Bildes ab, das Sie ausführen möchten: docker images

Der docker run-Befehl wird folgendermaßen verwendet:

docker run [OPTIONS] IMAGE [COMMAND] [ARG ...]

Im Folgenden habe ich die Optionen für Versand, Name, Veröffentlichung, Volume und Neustart angegeben, bevor der Image-Name oder die ID angegeben wurden:

_docker run -d --name  container-name -p localhost:80:80 -v $HOME/myContainer/configDir:/myImage/configDir --restart=always image-name
_

--detach , -d Run container in background and print container ID --name Assign a name to the container --publish , -p Publish a container’s port(s) to the Host --volume , -v Bind mount a volume --restart Restart policy to apply when a container exits

Weitere Informationen finden Sie in der offiziellen Docker Run-Referenz

9
JSON C11

Hier ist ein Beispiel für die Ausführung eines Webdev-Dienstes im Docker.
Das Bild heißt morrisjobke/webdav. Sie können es von Dockerhub ziehen.

Nachdem Sie diese Bilder ausgeführt haben, können Sie unter http://localhost:8888/webdav auf die WebDAV-Instanz zugreifen. Intern wird der Ordner /var/webdav als WebDAV-Root verwendet.

Sie können diesen Container folgendermaßen ausführen: $ docker run -d -e USERNAME=test -e PASSWORD=test -p 8888:80 morrisjobke/webdav

3
Yang Yu

Da Sie ein Bild aus der Docker-Datei erstellt haben, befindet sich das Bild derzeit nicht im aktiven Zustand. Um zu arbeiten, müssen Sie dieses Image in einem Container ausführen.

Der Befehl $ docker images beschreibt, wie viele Bilder derzeit im lokalen Repository verfügbar sind. und

docker ps -a 

zeigt an, wie viele Container aktuell verfügbar sind, d. h. die Liste der aktiven und verlassenen Container

Es gibt zwei Möglichkeiten, das Bild im Container auszuführen

$ docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

im getrennten Modus

-d=false: Detached mode: Run container in the background, print new container id

im interaktiven Modus

-i :Keep STDIN open even if not attached

Hier ist der Docker-Befehl run

$ docker run image_name:tag_name

weitere Informationen zur Docker-Ausführung finden Sie unter https://docs.docker.com/engine/reference/run/

es ist das beste Material, um Docker zu verstehen.

2
Hemant Kumar

Ich hatte das gleiche problem Ich habe meinen Docker ausgeführt und einen Container mit einer bestimmten CONTAINER_ID erstellt und wollte mit demselben Container arbeiten:

führen Sie zuerst Ihren Docker aus:

$ docker run -it -p 8888: 8888 -p 6006: 6006 -v ~ /:/Host waleedka/modern-deep-learning

Listen Sie dann alle Container auf, die Sie erstellt haben:

$ Sudo docker ps -a

und wähle den Container aus, mit dem du arbeiten möchtest (meins ist 167ddd6d7f15)

$ Sudo docker start -ai 167ddd6d7f15

2
farnaz jazayeri