linux系统如何配置host.docker.internal
在Linux上,默认不可用,但可以通过--add-host、修改Docker配置或使用实现类似功能。选择最适合你的方法即可。
·
方法1:使用 --add-host 参数
在运行容器时,可以通过 --add-host 参数手动将宿主机的IP地址映射到 host.docker.internal。
-
获取宿主机的IP地址:
ip route show default | awk '/default/ {print $3}'通常,宿主机的IP地址是
172.17.0.1(Docker默认网桥的网关地址)。 -
运行容器时添加
--add-host参数:docker run --add-host=host.docker.internal:172.17.0.1 your_image
方法2:修改Docker守护进程配置
通过修改Docker守护进程的配置文件,可以全局启用 host.docker.internal。
-
编辑Docker守护进程配置文件(通常是
/etc/docker/daemon.json):sudo nano /etc/docker/daemon.json -
添加以下内容:
{ "dns": ["8.8.8.8", "8.8.4.4"], "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"], "extra-hosts": ["host.docker.internal:host-gateway"] } -
重启Docker服务:
sudo systemctl restart docker
方法3:使用 docker-compose
如果你使用 docker-compose,可以在 docker-compose.yml 文件中配置 extra_hosts。
-
编辑
docker-compose.yml文件:version: '3' services: your_service: image: your_image extra_hosts: - "host.docker.internal:host-gateway" -
启动服务:
docker-compose up
方法4:直接使用宿主机的IP地址
如果你不需要 host.docker.internal 这个名称,可以直接使用宿主机的IP地址。
-
获取宿主机的IP地址:
hostname -I | awk '{print $1}' -
在容器中使用该IP地址访问宿主机。
总结
在Linux上,host.docker.internal 默认不可用,但可以通过 --add-host、修改Docker配置或使用 docker-compose 实现类似功能。选择最适合你的方法即可。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)