如何在 Docker容器中访问宿主机服务

有时候处于调试的需要,在部署整个服务到 K8s 之前,某些sidercar 可能需要先部署在Docker 容器中进行测试,主程序在宿主机中进行运行调试,这时候就需要在 Docker 容器中访问外部宿主机的服务。

解决方案

在Docker 容器中通过特定的DNS Name 来访问宿主机服务,使用host.docker.internal或者gateway.docker.internal
例如:

curl http://host.docker.internal:8000

或者

curl http://gateway.docker.internal:8000

以上两者方式亲测可行。

参考文献

  • Networking features in Docker Desktop for Mac | Docker Documentation

你可能感兴趣的:(如何在 Docker容器中访问宿主机服务)