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个选项来解决这个问题…
-
使用该名称删除以前的容器,使用命令
docker rm $(docker ps -aq --filter name=registry-v1)
要么
- 将当前容器重命名为不同的名称,即将此部分
--name registry-v1
更改为--name registry-v1-second-project-name