Docker推送本地镜像至远程镜像仓库

1. 登录docker hub仓库
docker login hub.xxxyyy.com
# 输入用户名及密码
# username:
# passward:

输入正确的用户名及密码后,发现报 connection refused 错误:

Error response from daemon: Get "https://hub.xxxyyy.com/": dial tcp hub.xxxyyy.com:443: connect: connection refused

解决该错误,可以通过在daemon.json文件中写入"insecure-registries"解决。

2. 创建/etc/docker/daemon.json文件

daemon.json文件默认是不存在的,所以我们需要先创建该文件。下面以Ubuntu 16.04为例,创建 /etc/docker/daemon.json 文件并写入"insecure-registries"配置。

vim /etc/docker/daemon.json

文件内容如下:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "insecure-registries": [
    "hub.xxxyyy.com"
  ],
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ]
}

这里的关键是在文件里写入:
“insecure-registries”: [
“hub.xxxyyy.com”
]
“hub.xxxyyy.com” 也可直接写成域名的形式,如 “172.171.xxx.xxx”。

3. 重启daemon及docker服务
systemctl daemon-reload
systemctl restart docker

重启相关服务后,再次使用 dokcer login 发现可以登录成功。

4. 将本地镜像推送至远程 docker hub 仓库

以推送本地镜像 ubuntu:18.04 至远程私有镜像仓库为例:

(1) 由于推送到私有镜像仓库的镜像名必须符合“仓库IP:端口号/repository”的形式,因此需要按照要求修改镜像名称,具体操作指令如下。

docker tag ubuntu:18.04 hub.xxxyyy.com/common/ubuntu:18.04

(2) 推送镜像。要推送的本地镜像准备就绪后,就可以将其推送到私有镜像仓库了,具体操作指令如下:

docker push hub.xxxyyy.com/common/ubuntu:18.04

出现以下信息说明推送成功。

The push refers to repository [hub.xxxyyy.com/common/ubuntu]
1dc52a6b4de8: Pushed 
18.04: digest: sha256:98706f0f213dbd440021993a82d2f70451a73698315370ae8615cc468ac06624 size: 529

此时,可在远程私有镜像仓库中查看到推送上去的 ubuntu:18.04 镜像。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值