如何通过Dockerfile配置让容器使用主机IP地址
在容器中通过Dockerfile配置使用主机IP的方法
直接在Dockerfile里写死主机IP不太灵活,毕竟主机IP可能会变动,但如果确实要通过Dockerfile实现,这里提供两种可行的方式:
方式一:构建时传入主机IP参数
在Dockerfile里先定义ARG参数,构建镜像的时候通过--build-arg把主机IP传进去:
FROM my_image ARG HOST_IP ARG PROXY_PORT=8080 ENV http_proxy=http://${HOST_IP}:${PROXY_PORT} ENV https_proxy=http://${HOST_IP}:${PROXY_PORT}
执行构建命令时替换成你的实际IP:
docker build --build-arg HOST_IP=xxx.xxx.xxx.xxx -t your_image .
方式二:运行时指定(更推荐)
要是不想把IP固定在镜像里,也可以跳过修改Dockerfile,直接在启动容器时传入环境变量:
docker run -e http_proxy=http://xxx.xxx.xxx.xxx:端口 -e https_proxy=http://xxx.xxx.xxx.xxx:端口 your_image
另外提个小技巧:如果是用Docker Desktop的Windows或macOS环境,不用记具体IP,直接用host.docker.internal这个内置域名就行,容器里访问它就等于访问主机。
内容的提问来源于stack exchange,提问作者ccd
相关产品推荐
相关产品推荐

