使用以下命令运行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文件夹,删除。raw文件或较大的docker归档文件。

其他回答

好吧,所以我也不明白,然后我离开了我的电脑,去做其他的事情,当我回来时,它点击:D

下载一个docker映像文件。Docker pull *image-name*将只从Docker hub中拉出图像而不运行它。 现在,你使用docker运行,并给它一个名字(例如newWebServer)。 docker运行-d -p 8080:8080 -v volume——name newWebServer image-name/version

你可能只需要docker run——name* name* *image*,但是其他的东西很快就会有用。

-d (detached) -表示当用于运行容器的根进程退出时,容器将退出。

-p (port) -指定容器端口和主机端口。内部和外部端口。内部的是容器使用的端口,外部的是你在容器外部使用的端口,如果这是你访问应用程序的方式,它可能是你需要放在浏览器中的端口。

——name(你想给这个容器的实例起什么名字)——你可以有同一个容器的几个实例,它们都有不同的名字,这在你试图测试一些东西的时候很有用。

image-name/version是您想从中创建容器的实际映像。您可以使用docker images -a查看系统上所有映像的列表。您可能有多个版本,因此请确保选择正确的/标记。

-v (volume)——最初可能不需要,但很快你就会希望在容器退出后持久化数据。

好的。docker run刚刚从映像创建了一个容器。如果它没有运行,你现在可以用它的名字启动它:

docker start newWebServer

您可以检查所有容器(它们可能正在运行,也可能没有运行)

docker ps -a

你可以通过container id列中的容器名称或容器id(或者只是容器id的前几个字符)来停止和启动它们(或暂停它们),例如:

docker stop newWebServer

docker start c3028a89462c

并列出你所有的图片,与

docker images -a

简单地说,下载一个图像;Docker运行从它创建一个容器;使用docker Start(名称或容器id)启动它;用docker Stop(名称或容器id)停止它。

在构建新映像时,您经常希望每次都运行一个新容器,并且使用相同的名称。我发现最简单的方法是使用——rm选项启动容器:

--rm        Automatically remove the container when it exits

e.g.

docker run --name my-micro-service --rm <image>

不幸的是,在文档中的例子中,它几乎是随机使用的

编辑:阅读下面Lepe的评论。

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

错误:没有这样的图像

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

docker container prune

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

docker run --name registry-v1 ...

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

docker rm registry-v1

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

docker stop registry-v1

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

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

docker ps -a

删除所有退出的容器

docker rm $(docker ps -a -f status=exited -q)