J'ai construit une image Docker à partir d'un fichier docker. Je vois que l'image a été créée avec succès, mais que dois-je en faire? Ne devrait-il pas pouvoir fonctionner comme un conteneur?
docker
docker-image
boom
la source
la source
docker ps -a
ne sont pas utiles ici?docker ps
répertorie les conteneurs, pas les images. Si vous souhaitez créer une image à partir d'un conteneur, vous devezdocker commit
. Vous pouvez utiliser le NOM dans le commit (par exempledocker commit _NAME_ _imagename_
)Procédez comme suit:
$ docker images
Vous obtiendrez une liste de toutes les images Docker locales avec les balises spécifiées.
$ docker run image_name:tag_name
Si vous n'avez pas précisé
tag_name
il exécutera automatiquement une image avec la dernière balise.Au lieu de
image_name
, vous pouvez également spécifier un ID d'image (pas de tag_name).la source
Pour répertorier les images Docker
Si votre application souhaite s'exécuter avec le port 80 et que vous pouvez exposer un autre port à lier localement, par exemple 8080:
la source
Vous pouvez voir vos images disponibles en utilisant:
Ensuite, vous pouvez exécuter en mode détaché afin que votre terminal soit toujours utilisable. Vous avez plusieurs options pour l'exécuter en utilisant un nom de référentiel (avec ou sans balise) ou un ID d'image:
Ensuite, vous pouvez vérifier que votre conteneur fonctionne en utilisant
docker ps
vous donne un ID de conteneur. Vous pouvez l'utiliser ou simplement les 2/3 premiers caractères pour aller dans votre conteneur en utilisant:Et vous pouvez l'arrêter en utilisant
docker stop container_id
etdocker rm container_id
.Vous pouvez également exécuter votre conteneur avec des
-rm
arguments, donc si vous arrêtez votre conteneur, il sera automatiquement supprimé.la source
Obtenez le nom ou l'id de l'image que vous souhaitez exécuter, avec cette commande:
La commande Docker run est utilisée de la manière suivante:
Ci-dessous, j'ai inclus les options de répartition, de nom, de publication, de volume et de redémarrage avant de spécifier le nom ou l'identifiant de l'image:
Où:
Pour plus d'informations, veuillez consulter la référence officielle de l' exécution Docker .
la source
Voici un exemple pour exécuter un service webdev dans Docker. Le nom de l'image est morrisjobke / webdav . Vous pouvez le retirer de Docker Hub .
Après avoir exécuté ces images, vous pouvez ensuite accéder à l' instance WebDAV à l' adresse
http://localhost:8888/webdav
. En interne, le dossier/var/webdav
est utilisé comme racine WebDAV.Vous pouvez exécuter ce conteneur de la manière suivante:
la source
J'ai eu le même problème. J'ai exécuté mon image Docker et elle a créé un conteneur avec un CONTAINER_ID spécifique. Je voulais travailler avec le même conteneur:
Exécutez d'abord votre image Docker:
Listez ensuite tous les conteneurs que vous avez fabriqués:
Et sélectionnez le conteneur avec lequel vous souhaitez travailler (le mien est 167ddd6d7f15):
la source
Puisque vous avez créé une image à partir du Dockerfile, l'image n'est actuellement pas en état actif. Pour fonctionner, vous devez exécuter cette image dans un conteneur.
La
$ docker images
commande décrit le nombre d'images actuellement disponibles dans le référentiel local. etindique le nombre de conteneurs actuellement disponibles, c'est-à-dire la liste des conteneurs actifs et sortis.
Il existe deux façons d'exécuter l'image dans le conteneur:
En mode détaché:
En mode interactif:
Voici la commande Docker run
Pour plus de précisions sur l'exécution de Docker, vous pouvez visiter la référence de l'exécution de Docker .
C'est le meilleur matériel pour comprendre Docker.
la source
Pour afficher une liste de toutes les images sur votre hôte Docker, exécutez:
Vous pouvez maintenant exécuter l'image Docker en tant que conteneur en mode interactif:
OU si vous n'avez pas d'images localement, recherchez Docker Hub pour une image à télécharger:
Tirez l'image Docker d'un référentiel avec la commande puller docker:
Exécutez l'image Docker en tant que conteneur:
la source
la source
Pour ceux qui ont eu le même problème, mais qui ont rencontré une erreur comme
J'ai ajouté un point d'entrée qui a fonctionné pour moi:
docker run -it --entrypoint /bin/sh
pour les images sans Bash.Exemple (tiré de l'exemple approuvé):
Référence: https://gist.github.com/mitchwongho/11266726
la source