2016-08-09 1 views
0

J'apprends "Docker pour Mac"Docker pour Mac. docker run -d -p 80:80 --name webserver nginx montre un autre conteneur avec ce nom. mais docker ps affiche la liste vide

$ docker run -d -p 80:80 --name webserver nginx

docker: réponse d'erreur du démon: Conflit. Le nom "/ webserver" est déjà utilisé par le conteneur 728da4a0a2852869c2fbfec3e3df3e575e8b4cd06cc751498d751fbaa75e8f1b. Vous devez supprimer (ou renommer) ce conteneur pour pouvoir réutiliser ce nom ..

Mais quand je lance

$ docker ps

Il montre pas de contenants répertoriés.

Mais en raison du précédent message d'erreur me dit qu'il ya ce récipient 728da ....

j'ai enlevé le conteneur

$ dockder rm 728da4a0a2852869c2fbfec3e3df3e575e8b4cd06cc751498d751fbaa75e8f1b

Je lance à nouveau cette déclaration

$ docker run -d -p 80:80 --name webserver nginx

Cela fonctionne bien cette fois-ci.

Et puis je lance $ docker ps, je peux voir ce nouveau conteneur est répertorié

$ docker ps 

CONTAINER ID PORTS STATUT CRÉÉ DE COMMANDE D'IMAGE NOM

3ecc0412fd31 nginx "nginx -g « démon off" il y a 19 secondes jusqu'à 17 secondes 0.0.0.0:80->80/tcp, 443/tcp webserver

note:

J'utilise « D ocker pour Mac ".

Mais j'avais déjà installé "Docker Box" sur Mac. Je ne sais pas si c'est le conteneur "webserver" invisible qui vient.

+1

L'autre conteneur doit avoir été arrêté. Voir 'docker ps -a' et vous devriez voir votre conteneur nommé' webserver' – activatedgeek

Répondre

1

Comme l'indique activégeek dans les commentaires, le conteneur doit avoir été arrêté. docker ps -a montre les conteneurs arrêtés. Les conteneurs arrêtés portent toujours le nom, ainsi que le contenu de leur couche RW qui montre les modifications apportées à l'image RO utilisée. Vous pouvez référencer des conteneurs par nom ou par identifiant de conteneur, ce qui peut faciliter la saisie et l'écriture de scripts. docker start webserver aurait redémarré l'ancien conteneur. docker rm webserver supprimerait un conteneur arrêté portant ce nom.

Vous pouvez également abréger les ID de conteneur au nom unique le plus court pour enregistrer la saisie ou un long copier/coller. Ainsi, dans votre exemple, docker rm 728d aurait également supprimé le conteneur.

0

Le document Docker Getting Started demande aux apprenants d'essayer deux instructions en premier.

docker run hello-world

et

docker run -d -p 80:80 --name webserver nginx

Je me demandais pourquoi je peux courir

docker run hello-world

plusieurs fois, mais si je cours

docker run -d -p 80:80 --name webserver nginx

la deuxième fois, j'ai obtenu le nom d'erreur de conflits. Beaucoup de débutants se demanderaient aussi.

Avec votre aide et je ne recherche plus, maintenant je comprends

docker run hello-world,

nous n'avons pas utilisé --name, dans ce cas, un nom aléatoire a été donné il n'y aura pas de conflit de nom Erreur.

Merci!