使用docker搭建“企业级镜像仓库”Harbor
一、前沿
docker的官方镜像仓库registry,功能比较单一,不太好用,特别是删除镜像操作,不够友好。
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,
例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,
Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。
Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中,
确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
安装环境:
Linux UbuntuServer 4.4.--generic #-Ubuntu SMP Mon Dec :: UTC x86_64 x86_64 x86_64 GNU/Linux
Docker version 17.09.-ce, build 19e2cf6
docker-compose version 1.17., build 6d101fb
二、安装docker(略)
三、安装docker-compose(略)
四、安装Harbor
下载Harbor
wget http://harbor.orientsoft.cn/harbor-v1.3.0/harbor-offline-installer-v1.3.0.tgz
解压
tar -xzvf harbor-offline-installer-v1.3.0.tgz
得到安装配置文件
这里使用HTTP Insecure Registry。
打开harbor.cfg,修改hostname = 本机ip:端口,默认是80端口,如果80被占用,则需要换端口,比如hostname = 10.0.3.16:7077,
同时打开docker-compose.yml,修改ngxin的转发端口,比如:
proxy:
image: vmware/nginx-photon:1.11.
container_name: nginx
restart: always
volumes:
- ./common/config/nginx:/etc/nginx:z
networks:
- harbor
ports:
- :
- :
- :
depends_on:
- mysql
- registry
- ui
- log
logging:
driver: "syslog"
options:
syslog-address: "tcp://127.0.0.1:1514"
tag: "proxy"
然后保存,启动Harbor:
./install.sh
查看各容器状态:
docker-compose ps
确保各容器状态都在“up”,即可访问管理界面http://10.0.3.16:7077
各容器的日志记录在:/var/log/harbor/
用户名admin,密码:Harbor12345,配置文件harbor.cfg里有。
五、尝试上传和拉取镜像
登陆Harbor之后,创建一个项目,并选择“公开”:
可以看到此时项目里没有镜像:
现在上传一个镜像,上传之前由于Harbor使用的HTTP Insecure Registry模式,所以需要设置docker允许使用Insecure Registry。
vim /etc/docker/daemon.json
写入insecure-registries
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": [
"10.0.3.16:7077"
] }
重启docker:
systemctl daemon-reload
systemctl restart docker
上传一个修改过的busybox:
docker pull busybox
docker tag busybox 10.0.3.16:/myregistry/busybox:v1.
docker login 10.0.3.16: # 用户名:admin,密码:Harbor12345
docker push 10.0.3.16:/myregistry/busybox:v1.
可以看到Harbor仓库里面已经有了:
换一台机器,尝试拉取:
docker pull 10.0.3.16:/myregistry/busybox:v1.
也是可以的。
六、参考:
https://blog.csdn.net/nklinsirui/article/details/87924176
Harbor各版本:http://harbor.orientsoft.cn/
使用docker搭建“企业级镜像仓库”Harbor的更多相关文章
- 【Docker】企业级镜像仓库harbor的搭建(http/https)及使用
一:用途 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 二:安装docker-ce 环境:阿里云轻量应用服务器CentOS 7.3 这里通过yum Docker源仓 ...
- 企业级镜像仓库harbor搭建
企业级镜像仓库harbor搭建 一. Harbor概述 VMware公司最近开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服 ...
- Kubernetes-5:搭建企业级私有仓库Harbor
搭建企业级私有仓库Harbor 安装需求 python版本 >= 2.7 Docker引擎版本 >= 1.10 docker-compose版本 >= 1.6.0 安装环境 一.Py ...
- 企业级镜像仓库 harbor
企业级镜像仓库 harbor 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器 c. 上一篇:跨 Docker 宿主机网络 overlay 类型 h ...
- docker进阶-搭建私有企业级镜像仓库Harbor
为什么要搭建私有镜像仓库 对于一个刚刚接触Docker的人来说,官方的Docker hub是用于管理公共镜像.既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像.我们 ...
- Docker 企业级镜像仓库 Harbor 的搭建与维护
目录 一.什么是 Harbor 二.Harbor 安装 2.1.Harbor 安装环境 2.2.Harbor安装 2.3 配置HTTPS 三.Harbor 的使用 3.1.登录Harbor并使用 3. ...
- Docker: 企业级镜像仓库Harbor的使用
上一节,演示了Harbor的安装部署 这次我们来讲解 Harbor的使用. 我们需要了解到: 1. 如何推镜像到镜像仓库 2. 如何从镜像仓库拉取镜像 3. 如何运行从私有仓库拉取的镜像 # 查看 h ...
- docker实战——Docker本地私有镜像仓库Harbor搭建及配置
Harbor介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然docker官方提供了公共的镜像仓库(Docker Hub),但是从安全和效率等方面考虑,部署我们私有环境内的Registr ...
- docker企业级镜像仓库Harbor管理
Harbor概述 Harbor是由VMWare公司开源的容器镜像仓库.事实上,Harbor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括: ...
随机推荐
- pat03-树1. 二分法求多项式单根(20)
03-树1. 二分法求多项式单根(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 杨起帆(浙江大学城市学院) 二分法求函数根的 ...
- List转为DataTable并可以导出为Excel
using com.jd120.Core.Utility; using System; using System.Collections.Generic; using System.Data; usi ...
- 设计模式之工厂模式详细读后感TT!(五)
一如既往:原文 工厂方法(factory method)模式的意义是定义一个创建产品对象的工厂接口, 将实际创建工作推迟到子类当中. 核心工厂的创建, 这样核心类成为一个抽象工厂角色, 仅仅复制工厂子 ...
- intellijidea课程 intellijidea神器使用技巧 3-1 列操作
Ctrl shift 右箭头 ==> 选中右边单词 ctrl shift alt L ==> 选中所有相同的字符 Ctrl alt L ==> 格式化
- jQuery中的节点操作(一)
html代码如下 <p>Dom操作练习</p> jQuery插入节点 $("p").append("武汉php"); //向每个匹配的元 ...
- 减少服务器压力php生成静态xml文件
一.引 言 在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存相关信息的话,整体的管理上比较繁琐,比方修改编辑.比方阅读权 ...
- es6-正则
RegExp构造函数 在ES5中,RegExp构造函数的参数有两种情况. 第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符(flag). var regex = new RegExp( ...
- The tenth day
Why the long face? 你为什么不高兴,你为什么扳着脸,愁眉苦脸. Why the long face? Are you feeling down again? 你脸怎么这么臭,你又心情 ...
- 模拟Chrome皮肤
话不多说,先验货: (原始状态) (最大化状态) (对比图) 为自己鼓掌!!! 哈哈,捣鼓2天终于把这个搞出来了!虽然代码一团糟,但是不难理解! 要实现这个功能需要几个组件:DWM,GDI+ 在实现这 ...
- 【起航计划 026】2015 起航计划 Android APIDemo的魔鬼步伐 25 App->Notification->Status Bar 状态栏显示自定义的通知布局,省却声音、震动
这个例子的Icons Only 和 Icons and marquee 没有什么特别好说明的. 而Use Remote views in balloon 介绍了可以自定义在Extended Statu ...