下载docker镜像

下载docker镜像
gogongxt国内无法正常从官方网址docker pull拉取镜像
有以下几种方法可以使用:
使用镜像站
例如本来要执行docker pull nginx:latest
在地址前面添加镜像站地址:docker pull docker.1ms.run/nginx:latest
当然这个镜像站不一定存了最新的镜像,可以去网址上搜索看一下版本:https://1ms.run/
配置http代理
修改docker daemon配置文件设置代理,但是这种方法需要重启docker服务,不适用于多人共用服务器场景
首先为docker创建systemd配置目录:
1
sudo mkdir -p /etc/systemd/system/docker.service.d创建或编辑配置文件:
1
sudo vim /etc/systemd/system/docker.service.d/http-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"重载systemd配置并重启docker:
1
2
sudo systemctl daemon-reload
sudo systemctl restart docker使用skopeo配合代理下载镜像为tar
默认docker是不支持直接下载成tar文件的,但是我们可以用skopeo下载
这种方法的好处是不需要重启docker,只需要下载tar文件然后load就可以了
缺点是skopeo是单线程串行拉取的,比较慢,docker pull是并行拉取的,不过网络不好的情况下,串并行区别不大
安装:sudo apt install skopeo
先查看一下镜像信息:skopeo --debug inspect docker://lmsysorg/sglang:dev
1
2
3
4
5
6
7
export http_proxy="....."
export https_proxy="....."
skopeo copy \
--debug \
docker://lmsysorg/sglang:dev \
docker-archive:./sglang-dev.tar:lmsysorg/sglang:devlmsysorg/sglang:dev就是你要拉取的地址sglang-dev.tar就是你要保存的tar文件名
下载完成后,可以先ll查看一下tar文件体积是否符合预期
然后就可以sudo docker load -i sglang.tar加载镜像了
评论
匿名评论隐私政策




