docker运行 – >名称已被容器使用

用下面的命令运行dockerregistry总是会抛出一个错误:

dev:tmp me$ docker run \ -d --name registry-v1 \ -e SETTINGS_FLAVOR=local \ -e STORAGE_PATH=/registry \ -e SEARCH_BACKEND=sqlalchemy \ -e LOGLEVEL=DEBUG \ -p 5000:5000 \ registry:0.9.1 Error response from daemon: Conflict. The name "registry-v1" is already in use by container f9e5798a82e0. You have to delete (or rename) that container to be able to reuse that name. 

如何防止这个错误?

我也被这个弄糊涂了。 这里有两个相关的命令:

docker运行在一个新的容器中运行一个命令

docker工人启动启动一个或多个停止的容器

这意味着您已经使用参数docker run --name registry-v1 ...启动了一个容器。

您需要先删除它,然后才能使用docker rm registry-v1重新创build一个具有相同名称的容器。 当容器运行时,你需要先停下来,然后才能用docker stop registry-v1删除它。 或者简单地为新容器select一个不同的名称。

要获取现有容器及其名称的列表,只需调用docker ps -a

你正在得到这个错误,因为过去曾经被另一个容器使用过registry-v1 ,尽pipe那个容器可能已经退出ie(当前没有被使用)。

你有2个选项来解决这个问题…

  1. 使用该名称删除以前的容器,使用命令docker rm $(docker ps -aq --filter name=registry-v1)

    要么

  2. 将当前容器重命名为不同的名称,即将此部分--name registry-v1更改为--name registry-v1-second-project-name