无法创建容器(名称“NAME”已被 ID 使用)。使用 nerdctl

问题描述 投票:0回答:3

我正在使用

nerdctl
作为 docker 桌面替代品

我在运行时遇到以下错误

nerdctl compose up

Unable to create a container (name "v2_mongo_1” is already used by ID"asdfasdfadfa"). with nerdctl

我已经检查过

nerdctl ps -a
,没有容器在运行,所以我无法找出如何消除这个错误。

mongo:
    image: 'mongo:4.2.3-bionic'
    ports:
      - '27017:27017'
    volumes:
      - ./mongod.conf:/etc/mongod.conf
      - ./mongo-init-local-replicaset.sh:/etc/mongo-init-local-replicaset.sh:default
      - ./docker/mongo:/data/db
    entrypoint: ["mongod","-f","/etc/mongod.conf"]
    healthcheck:
      test:  ["CMD", "/etc/mongo-init-local-replicaset.sh"]
      start_period: 3s
mongodb docker docker-compose rancher nerdctl
3个回答
0
投票

首先使用

nerdctl rm v2_mongo_1
删除现有容器。


0
投票

在这里添加我的答案,因为我遇到了类似的事情,不得不拼凑出一个解决方案。当我用谷歌搜索这个问题时出现了这篇文章。

@vinod 的另一个答案对我不起作用,因为没有现有容器,所以我无法删除它!

有一个 github 问题提供了要删除的特定文件路径:https://github.com/containerd/nerdctl/issues/499

这样做对我有用,但该问题中引用的文件路径与我本地的 lima+nerdctl 设置不同。

对于发现此问题的其他人,我建议您尝试进入利马访客中的以下目录:

~/.local/share/nerdctl/1935db59/names/default

并删除其中与冲突名称匹配的任何文件(对于OP来说,这将是

v2_mongo_1

希望这有帮助。


0
投票

'

rm /var/lib/nerdctl/1935db59/names/k8s.io/v2_mongo_1 -f
'会有所帮助。 或者'
rm /var/lib/nerdctl/1935db59/names/default/v2_mongo_1 -f
'

© www.soinside.com 2019 - 2024. All rights reserved.