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
相关推荐
递归尽头是星辰1 分钟前
Docker容器化核心知识体系:从入门到实践
docker·云原生·devops·容器化·镜像构建
鸠摩智首席音效师7 分钟前
如何检查本地是否存在 Docker 镜像 ?
docker·容器
鸠摩智首席音效师8 分钟前
如何在 Docker 中设置环境变量 ?
docker·容器
云计算练习生9 分钟前
linux shell编程实战 02 变量与交互式输入
linux·运维·shell编程·shell 变量
Dovis(誓平步青云)35 分钟前
《简易制作 Linux Shell:详细分析原理、设计与实践》
linux·运维·服务器
weixin_3077791338 分钟前
在Linux服务器上使用Jenkins和Poetry实现Python项目自动化
linux·开发语言·python·自动化·jenkins
爱宇阳1 小时前
Linux 教程:如何查看服务器当前目录中的文件
linux·运维·github
天才奇男子1 小时前
用户管理,权限管理
linux·云原生
wheeldown1 小时前
【Linux】Linux 进程通信:System V 共享内存(最快方案)C++ 封装实战 + 通信案例,4 类经典 Bug 快速修复
linux·运维·服务器·开发语言
Ching·1 小时前
linux系统编程(十②)RK3568 socket之 TCP 客户端的实现
linux·tcp/ip·rk3568