当前位置: 首页 > 知识库问答 >
问题:

Docker容器名称已准备就绪

秦彦君
2023-03-14

我无法创建某个docker容器,因为jenkins告诉我该名称已在使用中。

docker run -d --name branchtest_container -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro branchtest_image
docker: Error response from daemon: Conflict. The container name "/branchtest_container" is already in use by container "256869981b65b979daf203624b8c0b5a8e475464a647814ff12b32c322844659". You have to remove (or rename) that container to be able to reuse that name.

我已尝试查找或删除此容器,但无法执行以下操作:

jenkins@jenkins-slave4oed:~$ docker rm 256869981b65b979daf203624b8c0b5a8e475464a647814ff12b32c322844659
Error response from daemon: No such container: 256869981b65b979daf203624b8c0b5a8e475464a647814ff12b32c322844659

jenkins@jenkins-slave4oed:~$ docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
jenkins@jenkins-slave4oed:~$

容器是通过jenkins构建的,在不同的构建中,总是有相同的容器id在使用中被否认。我们有八个不同的jenkins节点,这项工作在其中七个节点上工作,创建和删除具有该名称的docker图像。

如何移除这个“幽灵”容器?Allready尝试了但没有成功:

systemctl restart docker
docker rm $(docker ps -aq --filter name=branchtest_container)
docker container prune

共有1个答案

惠诚
2023-03-14

你不能仅仅移除正在运行的容器。你需要先阻止它。

要运行所有容器,请执行以下操作:

docker ps -a

要移除容器,请执行以下操作:

docker stop $(docker ps -a -q --filter name=branchtest_container) || true
docker rm -f $(docker ps -a -q --filter name=branchtest_container) || true
 类似资料:
  • 这个命令给出了运行容器ID的列表: 是否有获取容器名称列表的命令?

  • 我遇到了一个问题: 获取健康检查以成功。尝试使用容器本机负载平衡(CNLB)时,在IIS容器中运行的Net app。 我有一个网络endpoint组(NEG),由GKE中的入口资源定义和VPC本机集群创建。 当我通过公开NodePort或制作LoadBalancer类型的服务来规避CNLB时,站点会毫无问题地解决。 所有的吊舱条件从一个描述看起来不错:吊舱准备就绪 运行时会显示网络endpoint

  • 问题内容: 从容器名称获取docker容器ID的命令是什么? 问题答案: 在Linux中: 或在OS X,Windows中: 您的容器名称在哪里。 如@llia Sidorenko所述,为避免产生误报,您可以使用正则表达式锚点,如下所示: 说明: 为了安静。仅输出ID 对所有人。即使您的容器未运行也能正常工作 用于过滤器。 容器名称必须以该字符串 开头 容器名称必须 结束 这个字符串

  • 从容器名称中获取Docker容器id的命令是什么?

  • 问题内容: 我正在开发服务,并在那里使用docker compose来旋转诸如postgres,redis,elasticsearch之类的服务。我有一个基于RubyOnRails的Web应用程序,并从所有这些服务中进行读写操作。 这是我的 我可以在此网络中ping容器 到目前为止,一切都很好。现在我想在主机上的Rails应用程序上运行ruby,但是能够像目前这样使用url访问postgres实例

  • 问题内容: 在Ubuntu 14.04(Trusty Tahr)上,我正在寻找一种方法来停止正在运行的容器,而我仅有的信息是Docker run命令中使用的映像名称。 是否有命令查找与该映像名称匹配的所有匹配运行容器并停止它们? 问题答案: 在发行8959之后,一个良好的开端将是: 由于是指 _容器_而不是映像名称,因此您需要使用koekiebox的答案中提到的最新Docker 1.9过滤器祖先