配置加速源

编辑如下文件切换加速源

1
vim /etc/docker/daemon.json

目前国内镜像源已经挂了很多了, 截止现在2023.10, 以下三个亲测可用
其中阿里源要自己申请私人地址, 看这里教程

在docker的daemon.json写入如下, 当然, 也可以只设置其中一个

1
2
3
4
5
6
7
{
"registry-mirrors": [
"https://mirror.baidubce.com",
"https://<sth>.mirror.aliyuncs.com",
"http://hub-mirror.c.163.com"
]
}

然后sudo systemctl restart docker 即可

查看镜像源是否生效

可以通过docker info 命令, 看看镜像地址是否在registry
这代表了是否配置成功.

但是镜像源是否仍然有效, 目前并没有一个优雅地方式来检查.
只能在 docker pull 的过程中看看网络连接的IP是否为国内的源地址. 命令如下

1
sudo ss -ntp | grep dockerd

然后拿着IP去查询地址就行, 可以在这查询

终极方法

终极方法就是科学上网, 直接官方镜像.

配置docker pull的代理如下

1
2
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo touch /etc/systemd/system/docker.service.d/proxy.conf

然后写入如下

1
2
3
4
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080/"
Environment="HTTPS_PROXY=http://proxy.example.com:8080/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"

把网址改成自己的代理地址即可. 本机就是localhost

如果是容器内部通信, 在~/.docker/config.json配置代理即可

1
2
3
4
5
6
7
8
9
{
"proxies": {
"default": {
"httpProxy": "http://your-ip:port",
"httpsProxy": "http://your-ip:port",
"noProxy": ""
}
}
}

如果代理就在本机, ip一般是docker网桥: 172.17.0.1

图形界面的教程网上可以直接搜, 命令行界面可以看我写的教程


参考文章
https://cloud.tencent.com/developer/article/1806455