一尘不染

docker restart容器失败:“已在使用中”,但是没有更多的docker image

docker

我首先得到了我的nginx码头工人形象:

docker pull nginx

然后我开始了:

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

然后我停止了它:

docker stop webserver

然后我尝试重新启动它:

$docker run -d -p 80:80 --name webserver nginx
docker: Error response from daemon: Conflict. The container name "/webserver" is already in use by container 036a0bcd196c5b23431dcd9876cac62082063bf62a492145dd8a55141f4dfd74. You have to remove (or rename) that container to be able to reuse that name..
See 'docker run --help'.

好吧,这是一个错误。但实际上,现在容器列表中没有任何内容:

docker container list
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

为什么重启nginx镜像失败?如何解决?


阅读 601

收藏
2020-06-17

共1个答案

一尘不染

这是因为

  • 您已使用--name开关。
  • 容器已停止且未移除

你发现它停止了

docker ps -a

您可以使用以下命令简单地启动它:

docker start webserver

编辑:替代方法 如果您想每次使用以下命令启动容器,

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

然后使用以下之一:

方法1: 使用--rm开关,即容器一旦停止就会自动销毁

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

方法2: 在停止容器之后,在启动当前使用的命令之前,将其显式删除。

docker stop <container name>
docker rm <container name>
2020-06-17