Mac下如何用Eixo::Docker模块调用Docker API?hosts配置丢失求助
解决Docker Desktop for Mac重启后hosts配置被清除的问题
问题原因
手动修改~/.docker/config.json添加hosts字段无效,因为该文件是用户级配置文件,用于存储镜像仓库认证、用户偏好等信息,并非Docker daemon的配置文件。Docker Desktop for Mac会在重启时重置该文件的非用户相关字段,导致你添加的hosts被清除。
正确配置方法
Docker daemon的hosts配置需要通过Docker Desktop的GUI设置来修改,步骤如下:
- 打开Docker Desktop,点击顶部菜单栏的Docker图标,选择Settings(设置)。
- 在左侧导航栏切换到Docker Engine选项卡。
- 在右侧的JSON配置区域中,添加
hosts字段(如果已有该字段,直接修改值即可):{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "experimental": false, "features": { "buildkit": true }, "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"] } - 点击底部的Apply & Restart按钮,Docker Desktop会保存配置并重启daemon,此时
hosts配置会被永久保留。
Eixo::Docker调用注意事项
使用Perl的Eixo::Docker模块调用API时,可直接指定连接地址:
- 如果使用unix socket:确保模块有权限访问
/var/run/docker.sock(默认Docker Desktop会设置正确的权限) - 如果使用TCP端口:在代码中指定
tcp://localhost:2375作为连接地址
内容的提问来源于stack exchange,提问作者StevieD
相关产品推荐
相关产品推荐

