解决问题:cannot create symlink in “/etc/docker“: existing file in the way

问题描述

环境

虚拟机: ubuntu:18.04

kernel: 4.15.0-151-generic

docker: 19.03.9

docker-compose: 1.25.5

在本地虚拟机内运行 docker-compose up -d 提示错误:

cannot update snap namespace: cannot create symlink in “/etc/docker”: existing file in the way
snap-update-ns failed with code 1

找到问题

发现错误提示: 无法更新 snap namespace无法在“/etc/docker”中创建符号链接

我认为这可能是由以下更改引起的:

https://github.com/docker-snap/docker-snap/commit/6fd10bac61724c1de226ef7635726ae587c94072

在这里插入图片描述

特别是,它/etc/docker从目录绑定更改为符号链接。如果主机系统存在/etc/docker目录,则布局代码将无法在该位置放置符号链接。如果/etc/docker在尝试更新该挂载命名空间时,它已被创建为由快照的先前修订版创建的挂载命名空间中的目录,则它也可能会失败。

看起来此特定更改已恢复,现在可能在边缘通道上提供修复:

https://github.com/docker-snap/docker-snap/commit/a11e11bc7804509f39c2b59ce68784d9ba4c67aa

在这里插入图片描述

解决问题

执行:

# 删除 /etc/docker 目录
rm -rf /etc/docker
# 重新获取快照
sudo snap refresh
docker 20.10.8 from Canonical✓ refreshed
# 重新尝试
root@local-1:/home# docker-compose  --version
docker-compose version 1.25.5, build unknown
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值