CentOS Docker仓库和代理配置

无法直接访问外部网络时,除了Host自己的全局代理设置之外,需要单独给Docker Client和Instance设置代理。

如执行docker run时遇到下面的错误

bash 复制代码
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp 3.216.34.172:443: i/o timeout.
See 'docker run --help'.

可以通过修改Docker仓库和代理配置

修改Docker仓库

/etc/docker/daemon.json

bash 复制代码
# vi /etc/docker/daemon.json
# cat daemon.json
{
  "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn",
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com"
  ]
}

修改Docker Client代理配置

/etc/systemd/system/docker.service.d/proxy.conf

bash 复制代码
# vi /etc/systemd/system/docker.service.d/proxy.conf
# cat proxy.conf
[Service]
Environment="HTTP_PROXY=http://IP:Port/"
Environment="HTTPS_PROXY=http://IP:Port/"
Environment="NO_PROXY=https://registry-1.docker.io/v2/"

修改Docker Instance代理配置

~/.docker/config.json

bash 复制代码
[xxx]# cat ~/.docker/config.json
{
 "proxies":
 {
   "default":
   {
     "httpProxy": "http://IP:Port/",
     "httpsProxy": "http://IP:Port/",
     "noProxy": "127.0.0.0/8"
   }
 }
}

或者在启动Docker时添加环境变量参数

--env HTTP_PROXY="http://IP:Port"

--env HTTPS_PROXY="https://IP:Port"

--env FTP_PROXY="ftp://IP:Port"

--env NO_PROXY="127.0.0.0/8"

相关推荐
AlfredZhao1 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐2 天前
Linux内存扩容指南
linux
zylyehuo2 天前
Linux 彻底且安全地删除文件
linux
用户805533698033 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297913 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Patrick_Wilson4 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy4 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭4 天前
运行你的第一个Docker容器
后端·docker·容器
Web3探索者5 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo5 天前
Linux系统中网线与USB网络共享冲突
linux