host.docker.internal
是一个特殊的 DNS 名称,用于在 Docker 容器中访问宿主机的网络服务。这个 DNS 名称只在 Docker for Mac 和 Docker Desktop 等桌面平台上可用,用于解决在容器内部无法直接访问宿主机上的网络服务的问题。
在 Docker for Mac 和 Docker Desktop 等平台上,Docker 会在容器的网络配置中自动添加 host.docker.internal 主机名,并将其映射到宿主机的 IP 地址。因此,在容器内部可以使用 host.docker.internal 主机名来访问宿主机上的网络服务,就好像访问本地主机一样。
使用以下命令启动容器,并将宿主机的 IP 地址和主机名映射到容器内部:
docker run --add-host=proxy:<host_ip_address> <image>
在容器中设置http_proxy
和https_proxy
export http_proxy=http://proxy:<port>
export https_proxy=http://proxy:<port>
如果要加宿主机的代理,直接使用host.docker.internal
export http_proxy=http://host.docker.internal:<port>
export https_proxy=http://host.docker.internal:<port>