Docker构建.NET 6.0项目时resolv.conf挂载疑似恶意路径错误
解决方案
1. 升级Docker版本(优先推荐)
Docker 19.03.4属于老旧版本,你遇到的resolv.conf挂载安全检测错误在后续稳定版中已修复。CentOS 7下升级步骤:
- 卸载旧版本:
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
- 配置Docker官方仓库:
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装最新稳定版Docker:
sudo yum install docker-ce docker-ce-cli containerd.io
- 重启Docker服务:
sudo systemctl restart docker
2. 临时关闭SELinux(应急方案)
CentOS 7的SELinux规则可能干扰Docker的文件挂载操作,临时关闭:
sudo setenforce 0
如需永久关闭,编辑/etc/selinux/config,将SELINUX=enforcing修改为SELINUX=permissive,重启系统生效。
3. 修复主机resolv.conf权限与属性
确保主机的DNS配置文件权限正常,无异常锁定属性:
sudo chmod 644 /etc/resolv.conf sudo chown root:root /etc/resolv.conf # 移除可能的不可修改属性 sudo chattr -i /etc/resolv.conf
4. 优化Docker守护进程配置
在/etc/docker/daemon.json中添加DNS参数,强制Docker使用指定配置,避免自动生成的resolv.conf触发安全检测:
{ "registry-mirrors": [ "https://docker.unsee.tech", "https://dockerpull.org", "https://docker.1panel.live", "https://dockerhub.icu" ], "dns": [ "172.28.130.123", "100.125.108.250", "8.8.8.8", "114.114.114.114" ], "dns-opts": ["timeout:2", "attempts:3"] }
重启Docker生效:
sudo systemctl daemon-reload sudo systemctl restart docker
验证修复
重新执行构建命令:
cd /MyProject docker build -f XXXX.WebApi/Dockerfile -t myapi-img .
内容的提问来源于stack exchange,提问作者yubaolee
相关产品推荐
相关产品推荐

