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.
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.
Suivez les étapes suivantes:
$ docker images
vous obtiendrez une liste de toutes les images du menu fixe avec les étiquettes spécifiées.
$ 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).
$ docker images
$ docker run -d --restart=always -p 8080:80 image_name:version
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é.
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
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
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.
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