web-dev-qa-db-fra.com

Exécuter une image Docker en tant que conteneur

J'ai construit une image de docker à partir d'un fichier de docker. Je vois que l'image a été construite avec succès, mais que dois-je en faire? Ne devrait-il pas pouvoir fonctionner comme un conteneur?

Nouveau sur docker alors probablement un malentendu de ma part, toute aide serait formidable.

501
boom

La manière spécifique de l’exécuter dépend de l’attribution ou non d’un tag/nom à l’image.

$ docker images
root@dockertest:~# docker images
REPOSITORY          TAG                 ID                  CREATED             SIZE
ubuntu              12.04               8dbd9e392a96        4 months ago        131.5 MB (virtual 131.5 MB)

Avec un nom (utilisons ubuntu ):

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

Sans nom, en utilisant simplement l'ID:

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

Veuillez consulter https://docs.docker.com/engine/reference/run/ pour plus d'informations.

712
Andy

Suivez les étapes suivantes:

  1. $ docker images

    vous obtiendrez une liste de toutes les images du menu fixe avec les étiquettes spécifiées.

  2. $ docker run image_name:tag_name

    Si vous n'avez pas spécifié tag_name, l'image avec la balise 'latest' sera automatiquement exécutée.

    Au lieu de image_name, vous pouvez également spécifier une image (pas de nom de balise).

60
  • Pour lister les images du menu fixe
$ docker images
  • Si votre application souhaite s'exécuter avec le port 80 et que vous pouvez exposer un autre port pour établir une liaison locale, par exemple 8080
$ docker run -d --restart=always -p 8080:80 image_name:version
32

Vous pouvez voir vos images disponibles en utilisant

docker images

Ensuite, vous pouvez exécuter en mode détaché afin que votre terminal soit toujours utilisable. Vous disposez de plusieurs options pour l’exécuter en utilisant le nom du référentiel (avec ou sans balise) ou l’identifiant de l’image.

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

Ensuite, vous pouvez vérifier que votre conteneur est en cours d'exécution en utilisant

docker ps

docker ps vous donne un identifiant de conteneur, vous pouvez l’utiliser ou juste le 2/3 premier caractère pour aller dans votre conteneur en utilisant

docker exec -it container_id /bin/bash

et vous pouvez l'arrêter avec docker stop container_id et docker rm container_id

Vous pouvez également exécuter votre conteneur avec les arguments -rm. Ainsi, si vous arrêtez votre conteneur, il sera automatiquement supprimé.

18
amdev

Obtenez le nom ou l'id de l'image que vous souhaitez exécuter, avec cette commande: docker images

La commande docker run est utilisée de la manière suivante:

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

Ci-dessous, j'ai inclus les options de répartition, nom, publication, volume et redémarrage avant de spécifier le nom ou l'id de l'image:

_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

Pour plus d'informations, consultez la page officielle référence du docker

9
JSON C11

Voici un exemple d’exécution d’un service webdev dans le menu fixe.
Le nom de l'image est morrisjobke/webdav. Vous pouvez le tirer de dockerhub.

Après avoir exécuté ces images, vous pouvez accéder à l'instance WebDAV à l'adresse http://localhost:8888/webdav. En interne, le dossier /var/webdav est utilisé en tant que racine WebDAV.

Vous pouvez exécuter ce conteneur de la manière suivante: $ docker run -d -e USERNAME=test -e PASSWORD=test -p 8888:80 morrisjobke/webdav

3
Yang Yu

Puisque vous avez créé une image à partir du fichier docker, l'image n'est pas actuellement dans l'état actif. Pour fonctionner, vous devez exécuter cette image dans un conteneur.

La commande $ docker images décrit le nombre d'images actuellement disponibles dans le référentiel local. et

docker ps -a 

indique le nombre de conteneurs actuellement disponibles, à savoir la liste des conteneurs actifs et sortants

Il y a deux manières d'exécuter l'image dans le conteneur.

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

en mode détaché

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

en mode interactif

-i :Keep STDIN open even if not attached

Voici la commande d'exécution de docker

$ docker run image_name:tag_name

pour plus de précisions sur l'exécution du menu fixe, vous pouvez visiter https://docs.docker.com/engine/reference/run/

c'est le meilleur matériau pour comprendre docker.

2
Hemant Kumar

J'ai eu le même problème. J'ai couru mon menu fixe et il a créé un conteneur avec un CONTAINER_ID spécifique et je voulais travailler avec le même conteneur:

lancez d'abord votre docker:

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

Ensuite, listez tous les conteneurs que vous avez fabriqués:

Sudo docker ps -a

et sélectionnez le conteneur avec lequel vous voulez travailler (le mien est 167ddd6d7f15)

$ Sudo docker start -ai 167ddd6d7f15

2
farnaz jazayeri