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_proxyhttps_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>