Docker设置网络代理,拉取镜像并推送镜像到个人仓库

简介

这个方法适合个人临时使用,比如说有镜像需要拉取,但是又找不到仓库,就可以用这个方法先拉取镜像,再推送到仓库。前提是有xxx。
详情参见docker官网文档:docker-http-proxy

修改docker服务文件

为docker服务创建一个systemd插入目录,创建文件

mkdir -p /etc/systemd/system/docker.service.d
touch /etc/systemd/system/docker.service.d/http-proxy.conf

配置示例

使用局域网代理,安装docker的机器需要能够访问运行xxx客户端的宿主机(网段相通)。
Windows上,本地端口一般是7890或者1080,具体看配置。

[Service]
Environment="HTTP_PROXY=http://host:7890"
Environment="HTTPS_PROXY=http://host:7890"
Environment="NO_PROXY=localhost,127.0.0.1"

编辑配置文件

vim /etc/systemd/system/docker.service.d/http-proxy.conf

可以设置多个环境变量,以同时设置HTTP和 HTTPs 代理

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80"
Environment="HTTPS_PROXY=https://proxy.example.com:443"

不使用代理的地址

Environment="NO_PROXY=localhos,127.0.0.1,docker-registry.example.com,.corp"

刷新更改并重新启动 Docker

systemctl daemon-reload
systemctl restart docker

验证配置是否已加载并匹配您的更改

例如:

systemctl show --property=Environment docker

测试效果

下载k8s官方提供的镜像

docker pull registry.k8s.io/pause:3.9

若不使用代理,只能通过国内镜像地址下载

docker pull registry.aliyuncs.com/google_containers/pause:3.9

推送镜像到仓库

分三步,登录仓库,改变镜像名称,使用push命令推送。
若没有仓库,推荐注册一个docker hub账号,或者阿里云账号,开通免费的个人仓库。

docker hub和阿里云镜像仓库地址

https://hub.docker.com/
https://cr.console.aliyun.com/cn-hangzhou/instances

示例 推送到docker hub个人仓库

登录仓库
docker login --username=example

需要输入密码
登录成功后的提示如下
在这里插入图片描述

修改镜像名
docker tag registry.k8s.io/pause:3.9 example/pause:3.9
推送镜像到个人仓库
docker push example/pause:3.9

推送成功后,在 hub.docker.com 登录账号,就能看到镜像了。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ly-ram

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值