我正在使用
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
首先使用
nerdctl rm v2_mongo_1
删除现有容器。
在这里添加我的答案,因为我遇到了类似的事情,不得不拼凑出一个解决方案。当我用谷歌搜索这个问题时出现了这篇文章。
@vinod 的另一个答案对我不起作用,因为没有现有容器,所以我无法删除它!
有一个 github 问题提供了要删除的特定文件路径:https://github.com/containerd/nerdctl/issues/499
这样做对我有用,但该问题中引用的文件路径与我本地的 lima+nerdctl 设置不同。
对于发现此问题的其他人,我建议您尝试进入利马访客中的以下目录:
~/.local/share/nerdctl/1935db59/names/default
并删除其中与冲突名称匹配的任何文件(对于OP来说,这将是
v2_mongo_1
。
希望这有帮助。
'
rm /var/lib/nerdctl/1935db59/names/k8s.io/v2_mongo_1 -f
'会有所帮助。
或者'rm /var/lib/nerdctl/1935db59/names/default/v2_mongo_1 -f
'