运行7dtd游戏服务器Docker镜像提示找不到指定配置文件如何解决
7DTD Docker服务配置文件不存在问题解决方法
核心问题说明
该问题不是Docker无法访问宿主机文件系统,而是路径映射不匹配、拼写/文件名不一致两个原因导致的,具体问题如下:
- 挂载路径与配置文件指定路径不匹配:你的
docker run命令中已经将宿主机/home/7dtd/server目录挂载到容器内的/steamcmd/7dtd路径,也就是说宿主机/home/7dtd/server下的所有文件,在容器内只能通过/steamcmd/7dtd/前缀路径访问。但你配置的环境变量SEVEN_DAYS_TO_DIE_CONFIG_FILE指定的是容器内/home/7dtd/server/serverconfig.xml路径,该路径在容器中完全不存在,自然无法读取到文件。 - 存在两处拼写/命名不匹配问题:
- 你在宿主机编辑文件的路径是
/home/7ttd/server/serverconfigreal.xml,路径中是7ttd,而你挂载的宿主机路径是/home/7dtd/server,字母拼写存在差异,可能导致挂载的目录下实际没有目标文件。 - 你环境变量中写的配置文件名是
serverconfig.xml,但报错日志显示程序实际尝试读取的是serverconfigreal.xml,文件名不一致。
- 你在宿主机编辑文件的路径是
解决步骤
- 先修正宿主机路径与文件问题:确认配置文件存放的正确路径,如果确实要放在
/home/7dtd/server目录下,就将文件移动到对应路径,执行ls /home/7dtd/server/serverconfigreal.xml确认可以正常返回文件信息。 - 修改
docker run命令中的环境变量配置,将配置文件路径改为容器内的实际映射路径:
-e SEVEN_DAYS_TO_DIE_CONFIG_FILE="/steamcmd/7dtd/serverconfigreal.xml"
- 重新创建启动容器即可解决报错。
内容的提问来源于stack exchange,提问作者Jono
相关产品推荐
相关产品推荐

