收起左侧

升级到权限重构的1.2.0201版本之后,docker容器的resolv.conf等文件被强制改成了710

2
回复
84
查看
[ 复制链接 ]

2

主题

3

回帖

0

牛值

江湖小虾

2026-7-12 23:10:45 显示全部楼层 阅读模式

系统CPU架构版本:X86

系统版本:1.2.0201

设备环境:虚拟机

BUG现象:在升级到权限ACL 1.2.0201 重构之后,创建的Docker容器下/etc/resolv.conf /etc/hosts /etc/hostname 权限被改成了710,预期应该是644,这会导致容器内依赖于读取DNS配置的进程不能正常获取到DNS进而访问国内外网站失败

出现频率:必现

docker配置文件:

sudo cat /etc/docker/daemon.json  | jq .
{
  "data-root": "/vol1/docker",
  "live-restore": true,
  "log-driver": "json-file",
  "log-opts": {
    "max-file": "5",
    "max-size": "100m"
  },
  "proxies": {},
  "registry-mirrors": [
    "https://docker.fnnas.com",
    "https://registry.hub.docker.com"
  ]
}

复现步骤:以searxng镜像为例

1、停止所有依赖于searxng的容器

2、删除searxng相关的镜像

3、重新拉取searxng:latest镜像:searxng/searxng:latest

4、启动searxng容器

5、执行命令查看容器内文件权限属性

sudo docker exec searxng \
  stat -c '%a %U:%G %n' \
  /etc/resolv.conf /etc/hosts /etc/hostname
710 root:root /etc/resolv.conf
710 root:root /etc/hosts
710 root:root /etc/hostname
收藏
送赞
分享

2

主题

3

回帖

0

牛值

江湖小虾

2026-7-12 23:11:31 楼主 显示全部楼层
临时性的手动修复方法:

2

主题

3

回帖

0

牛值

江湖小虾

2026-7-12 23:13:20 楼主 显示全部楼层

临时性的手动修复方法:

下面以容器名称为searxng举例:

1、执行命令修复指定明明的容器内的文件属性

sudo docker exec -u 0 searxng chmod 644 /etc/resolv.conf /etc/hosts /etc/hostname

2、重启容器

sudo docker restart searxng

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则