7.docker私有registry
一、Docker Registry分类
Registry用于保存docker镜像,包括镜像的层次结构和元数据。都是基于https或者http工作的。
用户可自建Registry,也可使用官方的Docker Hub。
分类:
- Sponsor Registry:第三方的registry,供客户和Docker社区使用;
- Mirror Registry:第三方的registry,只让客户使用;
- Vendor Registry:由发布docker镜像的供应商提供的registry;
- Private Registry:通过设有防火墙和额外的安全层的私有实体提供的registry。
二、制作私有registry
运行方式:安装RPM包 -- docker-distribution;registry也被运行为容器,docker官方有提供镜像;使用harbor来构建本地私有registry。
1、通过RPM包安装 docker registry
[root@oracle ~]# yum install docker-registry -y
[root@oracle ~]# rpm -ql docker-distribution
[root@oracle ~]# cat /etc/docker-distribution/registry/config.yml #配置文件,可以更改监听,镜像存储位置等
[root@oracle ~]# systemctl start docker-distribution
[root@oracle ~]# docker tag mynginx:v0.3-2 192.168.42.133:5000/mynginx:v0.3-2
[root@oracle ~]# docker push 192.168.42.133:5000/mynginx:v0.3-2 # 默认基于https工作,所以会报错
[root@oracle ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.42.133:5000"],
"bip": "10.10.1.2/16"
}
[root@oracle ~]# docker push 192.168.42.133:5000/mynginx:v0.3-2 #推送成功,默认放在/var/lib/registry/下
2、运行为容器
与常规运行容器相同,官方已提供镜像(docker search registry)但由于容器中数据随容器的生命周期结束而丢失,所以我们需要为其提供专门的存储卷。
3、使用Harbor来搭建
(1)介绍
Harbor是一个企业级的仓库应用程序,是VMWare在docker distribution的基础上做的二次开发项目,提供了很多额外程序和Web界面。
Harbor官方为了简化安装,把harbor做成了在容器中运行的应用。由于harbor的运行依赖于MySQL、Redis等很多存储系统,所以需要多个容器协同工作。因此需要使用docker的单机容器编排工具docker compose(yum info docker-compose,docker-compose可做的操作很多,有兴趣官网了解)。
(2)安装Harbor
github:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md #去GitHub上下载部署文件
[root@oracle ~]# yum install docker-compose -y
[root@oracle soft]# tar xf harbor-offline-installer-v1.9.0.tgz
[root@oracle soft]# mv harbor /usr/local/
[root@oracle harbor]# vim /usr/local/harbor/harbor.yml #按需修改配置文件,包括主机名,管理员初始密码,数据库初始密码等,然后安装
[root@oracle harbor]# ./install.sh



此时,浏览器访问http://192.168.42.133/harbor/sign-in?redirect_url=%2Fharbor%2Fprojects,使用admin/Harbor12345登录。

web页面新建一个test项目,然后去推送镜像到此仓库,然后web页面就可以查看刚刚推送的镜像了。
[root@node1 ~]# docker tag nginx:1.14-alpine node1.cmxu.com/test/nginx:apline
[root@node1 ~]# docker login node1.cmxu.com
[root@node1 ~]# docker push node1.cmxu.com/test/nginx:apline
# 重启docker进程后,也需要重启Harbor
[root@node1 ~]# docker-compose --help
[root@node1 ~]# docker-compose down
[root@node1 ~]# docker-compose up -d

7.docker私有registry的更多相关文章
- 为docker私有registry配置nginx反向代理
公司的Docker私有registry已经搭建好了,用官方的registry image很容易就搭建好了.现在就是要用nginx的反向代理把它放出来,以便在外网可以访问. 我的上一篇blog 讲了如何 ...
- 9、Docker私有registry
Docker Registry分类 Docker 默认是使用https的,但是如果在自己得私有局域网中,你指明使用http也是可以的. Registry主要的作用是托管镜像: 运行docker reg ...
- Docker 私有registry出现的证书问题
在上一篇 最近搭建的私有registry里,参考的文章指出,在push时可能出现问题: 可能会出现无法push镜像到私有仓库的问题.这是因为我们启动的registry服务不是安全可信赖的.这是我们需要 ...
- docker 私有registry 配置
备注:此处使用linux镜像配置仓库 registry 启动步骤 https://hub.docker.com/_/registry/ docker login docker pull registr ...
- Docker 学习9 Docker私有registry
一.docker registry分类 二.安装docker-hub提供的registry 1.安装 [root@localhost yum.repos.d]# yum install -y dock ...
- docker 私有registry harbor安装
一,harbor安装: 参考:Installation and Configuration Guide 1,安装docker 2,安装docker compose sudo curl -L " ...
- docker网络 存储卷 Dockerfile 私有registry
1.bridge模式 docker run --name bu1 -it --network bridge --rm busybox # 相当于 docker run --name bu1 -it - ...
- 建立docker私有库(docker registry)(转)
建立docker私有库(docker registry) 博客分类: docker 我的目标还是无互联网安装,部署内部的docker私有库,目前docker镜像的获得还是需要互联网,将下载好的do ...
- Docker私有仓库 Registry中的镜像管理
这里主要介绍Registry v2的版本 查看Registry仓库中现有的镜像: # curl -XGET http://10.0.30.6:5000/v2/_catalog# curl -XGET ...
随机推荐
- 前端必须掌握的 nginx 技能(1)
概述 作为一个前端,我觉得必须要学会使用 nginx 干下面几件事: 代理静态资源 设置反向代理(添加https) 设置缓存 设置 log 部署 smtp 服务 设置 redis 缓存(选) 下面我按 ...
- 快速入门分布式消息队列之 RabbitMQ(2)
目录 目录 前文列表 RabbitMQ 的特性 Message Acknowledgment 消息应答 Prefetch Count 预取数 RPC 远程过程调用 vhost 虚拟主机 插件系统 最后 ...
- HTML学习之==>CSS
一.CSS选择器 id选择器 class选择器 标签选择器 标签层级选择器 class层级选择器 id层级选择器 id组合选择器 class组合选择器 属性选择器 <!DOCTYPE html& ...
- c++ 调用 sqlite
#include <iostream> #include "sqlite3.h" using namespace std; void dbTest() { #pragm ...
- hibernate 1 连接数据库、操作表
ormapping(对象关系映射):数据库操作框架 缺点: 1.因为hql语句是hibernate内部自动生成,程序员干预不了,不可把控 2.功能比较复杂时不建议使用 优点: 1.比较简单. 2.有数 ...
- Redis进阶:Redis的主从复制机制
Redis进阶:Redis的主从复制机制 主从复制机制介绍 单机版的Redis存在性能瓶颈,Redis通过提高主从复制实现读写分离,提高了了Redis的可用性,另一方便也能实现数据在多个Redis直接 ...
- [转帖]socat使用笔记
socat使用笔记 https://blog.csdn.net/yangbingzhou/article/details/49783235 进行简单学习 centos 下面安装 yum install ...
- kubeadm初始化kubernetes集群
有两种方式安装集群: 1.手动安装各个节点的各个组件,安装极其复杂困难. 2.使用工具:kubeadm kubeadm 是官方提供的专门部署集群的管理工具. 1. 在kubeadm下每个节点都需要安装 ...
- Spring框架学习总结
一.Spring概述 1.什么是Spring? Spring是一个优秀轻量级的框架,是Java中使用最多的框架,Spring框架具有轻量.控制反转.面向切面.容器.框架.MVC的特点. 2.Sprin ...
- Luogu P1084 [NOIP2012]疫情控制
题目 首先我们二分一下答案. 然后我们用倍增让军队往上跳,最多先跳到根的子节点. 如果当前军队可以到达根节点,那么记录一下它的编号和它到达根节点后还可以走的时间. 并且我们记录根节点的叶子节点上到根节 ...