Docker将本地的镜像上传到私有仓库

使用register镜像创建私有仓库

bash 复制代码
[root@openEuler-node1 ~]# docker run --restart=always -d -p 5000:5000 -v /opt/data/regostry:/var/lib/registry registry:2
bash 复制代码
[root@openEuler-node1 ~]# docker images
REPOSITORY                                          TAG         IMAGE ID       CREATED        SIZE
registry                                            2           a8781fe3b7a2   5 weeks ago    25.4MB
busybox                                             latest      3f57d9401f8d   6 weeks ago    4.26MB
ubuntu                                              18.04       f9a80a55f492   9 months ago   63.2MB
centos                                              7           eeb6ee3f44bd   2 years ago    204MB

(1) 先将本地仓库打上合适的标签

bash 复制代码
[root@openEuler-node1 ~]# docker tag busybox:latest 192.168.136.55:5000/busybox:v1

(2)尝试上传镜像

bash 复制代码
[root@openEuler-node1 ~]# docker pull 192.168.136.55:5000/busybox:v1
Error response from daemon: Get "https://192.168.136.55:5000/v2/": http: server gave HTTP response to HTTPS client

上传镜像失败,原因:docker上传下载默认只支持https协议,搭建的私有仓库是https协议。

(3) 修改重启docker服务

bash 复制代码
[root@openEuler-node1 ~]# mkdir /etc/docker
[root@openEuler-node1 ~]# vim /etc/docker/daemon.json

{
        "insecure-registries":["192.168.136.55:5000"]
}       
[root@openEuler-node1 ~]# systemctl daemon-reload 
[root@openEuler-node1 ~]# systemctl restart docker.service 

(4)再次上传镜像,成功

bash 复制代码
[root@openEuler-node1 ~]# docker push 192.168.136.55:5000/busybox:v1
The push refers to repository [192.168.136.55:5000/busybox]
2e112031b4b9: Pushed 
v1: digest: sha256:d319b0e3e1745e504544e931cde012fc5470eba649acc8a7b3607402942e5db7 size: 527

(5)验证

bash 复制代码
[root@openEuler-node1 ~]# ll /opt/data/regostry/docker/registry/v2/repositories/
总用量 4
drwxr-xr-x 5 root root 4096  3月  3 11:58 busybox

我们可以用可视化界面registry-web(docker自带的)来管理

bash 复制代码
[root@openEuler-node1 ~]# docker run -d -p 8080:8080 --name registry-web --restart=always --link b2878bdb5e1b -e registry_url=http://192.168.136.55:5000/v2 -e registry_name=localhost:5000 hyper/docker-registry-web:latest
相关推荐
雾时之林9 分钟前
Linux---计算机网络常见面试题
linux·运维·计算机网络
10mAh29 分钟前
【Linux】error while loading shared libraries 怎么解决?——ldd、RPATH 与动态链接排错
java·linux·前端
承渊政道40 分钟前
飞牛NAS部署Immich:搭建家庭相册并实现远程访问
运维·服务器·docker·内网穿透·cpolar·nas·immich
楷哥爱开发1 小时前
如何在 Windows、macOS 和 Linux 上安装 scikit-learn (sklearn)
linux·windows·macos
十年磨一剑~1 小时前
CAAM不落盘存储密钥方式处理
linux·ubuntu
zhangrelay1 小时前
ROS 2 Lyrical 第2章 ROS 2系统架构与核心概念
linux·笔记·学习·ubuntu·ros2
ruofu331 小时前
如何让docker使用提前下载好的镜像,而不是在线拉取
java·spring cloud·docker
橘色的喵1 小时前
EventPool 32-bit 带标签 CAS 池:RT-Thread 单核 + Linux 双平台无锁
linux·运维·服务器
buhuizhiyuci2 小时前
【Linux 网络篇】数据的 “循环系统“:协议认识与网络传输的流程
linux·运维·服务器·网络·vscode
雾时之林2 小时前
Linux------磁盘管理
linux·运维