docker 从公共仓库拉取,并上传到私有仓库

有些时候无法联网拉去到网上镜像时候,需要先通过能联网的机器使用docker pull 到本地。然后将镜像打上tag, 再上传到私有仓库。
示例,比如我们要下载被墙掉的gcr.io(谷歌镜像仓库)中的镜像https://console.cloud.google.com/gcr/images/istio-release/GLOBAL/pilot?gcrImageListsize=50

主要流程

1.使用一台既能连通私有仓库harbor又能连通外网的主机,并安装上docker。

2.拉去镜像 docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

方法一:” docker pull 镜像地址:tag”

docker pull gcr.io/istio-release/pilot:1.0.0

方法二 :”docker pull 镜像地址:镜像名称”

docker pull gcr.io/istio-release/pilot@sha256:f3a834841bfa2879900c849b3d8398b584950aa5f61fc1061a03ed6d5a3f5805

如何仅仅是使用”docker pull gcr.io/istio-release/pilot” 默认是拉取tag为latest的镜像包

docker@default:~$ docker pull gcr.io/istio-release/pilot
Using default tag: latest

3.将拉去下来的镜像重新打上tag(gcr.io表示镜像的Docker的Registry地址,10.255.1.25是使用的私有仓库的地址)

docker tag gcr.io/istio-release/pilot:1.0.0  10.255.1.25/istio-release/pilot:1.0.0

可以通过 docker images命令 查看本docker拥有的镜像

4 push 到私有仓库
client与Registry交互,为了安全,默认将采用https访问, 但我们在搭建私有仓库时并未配置指定任何tls相关的key和crt文件,https访问定然失败。所以直接

  docker push 10.255.1.25/istio-release/pilot:1.0.0

是无法将这个镜像push到私有仓库的。需要在docker的配置文件/etc/docker/daemon.json (没有的话需要新建)中增加 “insecure-registries“参数配置

#启用不安全的注册表
{
  "insecure-registries" : ["10.255.1.25"]
}

启用不安全的注册表后,Docker将执行以下步骤: 首先,尝试使用HTTPS。 如果HTTPS可用但证书无效,请忽略有关证书的错误。 如果HTTPS不可用,会回退到HTTP
重新加载配置文件,重启docker服务使配置生效

#systemctl daemon-reload 
#systemctl resatrt docker

登录到私有docker

docker login 10.255.1.25 
//...输入用户名
//....密码

或则直接如下命令来登录
docker login -u username -p password  RegistryIp

登录成功后 再执行push

docker push 10.255.1.25/istio-release/pilot:1.0.0

备注:使用docker tag更改标签带上了镜像仓库地址,原来的gcr.io更改为10.255.1.25,所以在使用镜像时,也要将原来的gcr.io/istio-release/pilot:1.0.0变为10.255.1.25/istio-release/pilot:1.0.0 不然还是会从gcr.io仓库拉去镜像。


docker save and docker load

Docker 还提供了 docker load 和 docker save 命令,用以将镜像保存为一个 tar 文件,然后传输到另一个位置上,再加载进来。这是在没有 Docker Registry 时的做法,现在已经不推荐,镜像迁移应该直接使用 Docker Registry,无论是直接使用 Docker Hub 还是使用内网私有 Registry 都可以。这种方式可以用来在再无法联网的情况下部署。详细见
docker save and docker load
save and load 批量脚本

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Casionx

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

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

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

打赏作者

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

抵扣说明:

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

余额充值