简介:在 Docker 容器中使用代理时,你需要了解如何手动设置代理以及如何利用自动配置工具简化这一过程。本文将为你提供详细的步骤和最佳实践,帮助你在容器环境中顺利使用代理。
在 Docker 容器中使用代理时,你需要考虑如何正确配置代理以便让容器能够通过代理访问外部网络。以下是手动设置代理和自动配置的详细步骤。
一、手动设置代理
docker ps
docker exec -it <container_id> /bin/bash
/etc/systemd/system/networking.service.d/ 目录(如果不存在,请创建它),并编辑 50-proxy.conf 文件:
vi /etc/systemd/system/networking.service.d/50-proxy.conf
[Service]\nEnvironment="HTTP_PROXY=http://proxy.example.com:8080"\nEnvironment="HTTPS_PROXY=http://proxy.example.com:8080"
systemctl restart systemd-resolved\n
如果输出显示了你在第4步中设置的代理地址,那么代理已成功设置。
echo $HTTP_PROXY\necho $HTTPS_PROXY
docker-proxy 和 proxychains 的方法:docker-proxy:首先,安装 docker-proxy。然后,创建一个名为 docker-proxy.conf 的配置文件,并添加以下内容:css
[http]
http = http://proxy.example.com:8080/
[https]
http = http://proxy.example.com:8080/根据你的实际需求进行修改。最后,运行以下命令以启动代理:bash
docker run -d --name=proxy --net=host -v /path/to/docker-proxy.conf:/etc/docker-proxy.conf jwilder/docker-proxy /bin/sh -c "while true; do :; done"然后,将容器的网络模式设置为 --net=host。现在,你的容器将自动通过代理访问外部网络。proxychains:首先,安装 proxychains。然后,编辑 /etc/proxychains.conf 文件,添加以下内容: