使用以下命令运行docker注册表总是会抛出一个错误:

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 ps -a列出系统中的所有容器。 检查已初始化docker容器的NAMES部分。 然后输入docker rm——force name_of_container 按照您的意愿安装docker容器。

我有问题使用NIFI,我已经删除和重新安装使用docker。祝你好运。

其他回答

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

docker run  # Run a command in a **new** container
docker start  # Start one or more stopped containers

我遇到了这个问题,当我运行docker rm(通常工作)时,我会得到:

错误:没有这样的图像

最简单的解决方案是通过运行以下命令删除所有停止的容器:

docker container prune

问题:你试图创建新的容器,而在后台容器的同名正在运行,这种情况会导致冲突。

错误是这样的:

不能为服务X创建容器:冲突。名称X已经被容器abc123xyz使用。您必须删除或删除(或重命名)该容器才能重用该名称。

解决方案在docker-compose中重命名服务名。yml或删除正在运行的容器并重新构建(此解决方案涉及Unix/Linux/macOS系统):

获取所有正在运行的容器sudo docker ps -a 获取特定的容器id 停止并移除重复的容器/强制移除它

sudo docker stop <container_id>
sudo docker rm <container_id>

or

sudo docker rm --force <container_id>

你有两个选择来解决这个问题…

使用docker rm $(docker ps -aq——filter name=myContainerName)命令删除之前的容器。 或 将当前容器重命名为另一个名称,即将这部分——name registry-v1更改为——name myAnotherContainerName

你得到这个错误是因为容器名(即registry-v1)在过去被另一个容器使用…即使该容器可能已经退出,即(当前没有使用)。

这意味着您已经在过去使用该参数启动了容器

docker run --name registry-v1 ...

您需要先删除它,然后才能重新创建具有相同名称的容器

docker rm registry-v1

当容器仍在运行时,您需要先停止它,然后才能删除它

docker stop registry-v1

或者直接为新容器选择一个不同的名称。

来获取现有容器及其名称的列表

docker ps -a