Docker 对于 Mac。 docker 运行 -d -p 80:80 --name webserver nginx 显示另一个同名的容器。但是 docker ps 显示空列表
Docker for Mac. docker run -d -p 80:80 --name webserver nginx shows another container with this name. but docker ps shows empty list
我在学习"Docker for Mac"
$ docker run -d -p 80:80 --name webserver nginx
docker:来自守护程序的错误响应:冲突。名称“/webserver”已被容器 728da4a0a2852869c2fbfec3e3df3e575e8b4cd06cc751498d751fbaa75e8f1b 使用。您必须删除(或重命名)该容器才能重用该名称..
但是当我 运行
$ docker ps
它显示没有列出任何容器。
但是由于之前的错误信息告诉我有这个容器728da....
我删除了那个容器
$ dockder rm 728da4a0a2852869c2fbfec3e3df3e575e8b4cd06cc751498d751fbaa75e8f1b
现在我运行再说一遍
$ docker run -d -p 80:80 --name webserver nginx
这次运行良好。
然后我 运行 $ docker ps
,我可以看到这个新容器已列出
$ docker ps
容器 ID 图像命令创建的状态端口名称
3ecc0412fd31 nginx "nginx -g 'daemon off" 19秒前 上升17秒 0.0.0.0:80->80/tcp, 443/tcp webserver
注:
我正在使用 "Docker for Mac"。
但我之前在 Mac 上安装了 "Docker Box"。不知道是不是那个看不见的"webserver"容器来的
正如activatedgeek在评论中所说,容器一定已经停止了。 docker ps -a
显示停止的容器。停止的容器仍然保留名称,以及它们的 RW 层的内容,显示对正在使用的 RO 图像所做的任何更改。您可以按名称或容器 ID 引用容器,这样可以更轻松地键入和编写脚本。 docker start webserver
会重新启动旧容器。 docker rm webserver
将删除具有该名称的已停止容器。
您还可以将容器 ID 缩写为最短的唯一名称以节省输入或使用长 copy/paste。因此,在您的示例中,docker rm 728d
也会删除容器。
Docker 入门文档要求学员首先尝试两个语句。
docker run hello-world
和
docker run -d -p 80:80 --name webserver nginx
我想知道为什么我可以 运行
docker run hello-world
很多次,但如果我 运行
docker run -d -p 80:80 --name webserver nginx
第二次,出现名称冲突错误。很多新手也会疑惑。
在你的帮助下,我做了更多的搜索,现在我明白了
docker run hello-world
,
我们没有使用 --name,在这种情况下,给出了一个随机名称,因此不会出现名称冲突错误。
谢谢!
我在学习"Docker for Mac"
$ docker run -d -p 80:80 --name webserver nginx
docker:来自守护程序的错误响应:冲突。名称“/webserver”已被容器 728da4a0a2852869c2fbfec3e3df3e575e8b4cd06cc751498d751fbaa75e8f1b 使用。您必须删除(或重命名)该容器才能重用该名称..
但是当我 运行
$ docker ps
它显示没有列出任何容器。
但是由于之前的错误信息告诉我有这个容器728da....
我删除了那个容器
$ dockder rm 728da4a0a2852869c2fbfec3e3df3e575e8b4cd06cc751498d751fbaa75e8f1b
现在我运行再说一遍
$ docker run -d -p 80:80 --name webserver nginx
这次运行良好。
然后我 运行 $ docker ps
,我可以看到这个新容器已列出
$ docker ps
容器 ID 图像命令创建的状态端口名称
3ecc0412fd31 nginx "nginx -g 'daemon off" 19秒前 上升17秒 0.0.0.0:80->80/tcp, 443/tcp webserver
注:
我正在使用 "Docker for Mac"。
但我之前在 Mac 上安装了 "Docker Box"。不知道是不是那个看不见的"webserver"容器来的
正如activatedgeek在评论中所说,容器一定已经停止了。 docker ps -a
显示停止的容器。停止的容器仍然保留名称,以及它们的 RW 层的内容,显示对正在使用的 RO 图像所做的任何更改。您可以按名称或容器 ID 引用容器,这样可以更轻松地键入和编写脚本。 docker start webserver
会重新启动旧容器。 docker rm webserver
将删除具有该名称的已停止容器。
您还可以将容器 ID 缩写为最短的唯一名称以节省输入或使用长 copy/paste。因此,在您的示例中,docker rm 728d
也会删除容器。
Docker 入门文档要求学员首先尝试两个语句。
docker run hello-world
和
docker run -d -p 80:80 --name webserver nginx
我想知道为什么我可以 运行
docker run hello-world
很多次,但如果我 运行
docker run -d -p 80:80 --name webserver nginx
第二次,出现名称冲突错误。很多新手也会疑惑。
在你的帮助下,我做了更多的搜索,现在我明白了
docker run hello-world
,
我们没有使用 --name,在这种情况下,给出了一个随机名称,因此不会出现名称冲突错误。
谢谢!