我是Docker的新手。我尝试为debian:jessie图像设置代理,但我没有成功。我点击此链接。我将所有标签都使用cat标记(例如:“ cat> proxy.sh”,因为未安装vi或其他编辑器),但是在apt-get update命令中存在有关我的代理的一些错误。
错误照片
您可以在启动容器时设置代理环境变量,例如:
docker container run \
-e HTTP_PROXY=http://username:password@proxy2.domain.com \
-e HTTPS_PROXY=http://username:password@proxy2.domain.com \
myimage
Run Code Online (Sandbox Code Playgroud)
如果希望在启动容器时自动使用代理服务器,则可以在Docker CLI配置文件(~/.docker/config.json)中配置默认代理服务器。您可以在用户指南的“ 网络”部分中找到有关此操作的说明。
例如:
{
"proxies": {
"default": {
"httpProxy": "http://username:password@proxy2.domain.com",
"httpsProxy": "http://username:password@proxy2.domain.com"
}
}
}
Run Code Online (Sandbox Code Playgroud)
要验证~/.docker/config.json配置是否有效,请启动一个容器并打印其env:
docker container run --rm busybox env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=220e4df13604
HTTP_PROXY=http://username:password@proxy2.domain.com
http_proxy=http://username:password@proxy2.domain.com
HTTPS_PROXY=http://username:password@proxy2.domain.com
https_proxy=http://username:password@proxy2.domain.com
HOME=/root
Run Code Online (Sandbox Code Playgroud)
您需要指示 apt 脚本通过容器内的代理进行连接
# echo 'Acquire::http::proxy "proxy:port/";' > /etc/apt/apt.conf.d/40proxy
Run Code Online (Sandbox Code Playgroud)
记住,这应该写在容器内
在运行 docker 的机器中,应该像人们之前在评论中所说的那样配置代理
| 归档时间: |
|
| 查看次数: |
21068 次 |
| 最近记录: |