【问题标题】:Docker container name is allready in useDocker 容器名称已在使用中
【发布时间】:2020-12-23 09:45:25
【问题描述】:

我无法创建某个 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 被拒绝使用。我们有 8 个不同的 jenkins 节点,这项工作适用于其中的 7 个节点,创建和删除具有该名称的 docker 映像。

可以做些什么来移除这个“幽灵”容器?已经尝试过但没有成功:

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

【问题讨论】:

  • 容器是否出现在 /var/lib/docker/containers 中?
  • 不,什么也没有。
  • 你试过重启服务了吗?
  • 是的,我已经运行了“systemctl restart docker”
  • 你在单个节点上设置了 docker 吗?

标签: linux docker jenkins


【解决方案1】:

您不能只删除正在运行的容器。你需要先停止它。

让所有容器运行:

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

【讨论】:

    猜你喜欢
    • 2015-10-20
    • 1970-01-01
    • 2016-09-11
    • 1970-01-01
    • 2016-03-11
    • 2015-10-31
    • 1970-01-01
    • 2018-12-16
    相关资源
    最近更新 更多