docker的私有化仓库harbor搭建
目前比较流行的docker私有化仓库是harbor,harbor是一个github开源的项目,直接在github上搜索即可,下载地址:https://github.com/goharbor/harbor/releases
搞一个稳定版的离线安装,博主用的是1.10.0
下载好的离线包,上传到centos7相应的一个目录下:/software/harbor
解压:tar -zxvf harbor-offline-installer-v1.10.0.tgz
解压后目录如下:

安装harbor需要确保相关依赖的安装,需要安装docker-compose、docker以及python2.7以上还有openssl,
docker-compose的安装:
1、下载docker-compose
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2、进入相应目录授权查看

openssl和docker之前已经安装过了

配置harbor
主要配置参数如下:
hostname 目标主机的主机名,用于访问Portal和注册表服务。它应该是目标计算机的IP地址或完全限定的域名(FQDN),例如,192.168.1.10或reg.yourdomain.com。不要使用localhost或127.0.0.1作为主机名 - 外部客户端需要访问注册表服务
这里修改为我们的主机ip即可 例如修改为 192.168.135.130
data_volume: 存储 harbor 数据的位置。 这里可以修改 为 /data/harbor_data
配置http时存在如下注释,所以我们将https全部注释掉即可,这样来采用http
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port:博主配置为8989
启动安装发现如下问题,docker版本不满足

删除旧版本:
rpm -qa | grep docker 如下:
docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64
docker-client-1.13.1-96.gitb2f74b2.el7.centos.x86_64
docker-common-1.13.1-96.gitb2f74b2.el7.centos.x86_64
yum remove 上面三个安装软件。
安装新版本:curl -fsSL https://get.docker.com/ | sh


重新启动,再次进入/software/harbor/harbor命令: ./install.sh
发现空间补足,哎
今天yum update了一下,再次运行 ./install.sh

harbor安装成功
查看docker运行情况,harbor都运行起来了

我虚拟机的ip地址总是发生变化,为此,首先将虚拟机地址固定,参考https://blog.csdn.net/xukaijj/article/details/78855402
然后修改harbor.yml中的ip地址,重启harbor
# docker-compose down
# ./prepare
# docker-compose up –d

然后访问登录地址出现如下界面

采用初识密码登录:admin/Harbor12345

至此,harbor搭建完成
然后为了让docker能够登录,我们需要进行配置,创建文件/etc/docker/daemon.json。写入下面配置:
{ "insecure-registries":["192.168.1.104:8989"]
重启docker--- systemctl restart docker
docker login 192.168.1.104:8989
输入用户名密码然后如果报错的话,记得检查docker ps -a 下的harbor镜像是否存在启动异常的镜像,如果存在重新启动,以确保harbor完全正常
docker的私有化仓库harbor搭建的更多相关文章
- 企业级镜像仓库harbor搭建
企业级镜像仓库harbor搭建 一. Harbor概述 VMware公司最近开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服 ...
- 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 私有镜像仓库的搭建及认证
DockerHub 为我们提供了很多官方镜像和个人上传的镜像,我们可以下载机构或个人提供的镜像,也可以上传我们自己的本地镜像,但缺点是: 由于网络的原因,从 DockerHub 下载和上传镜像速度可能 ...
- Kubernets二进制安装(5)之私有仓库harbor搭建
在IP地址为192.168.80.50,机器名为mfyxw50上搭建私有仓库harbor harbor下载地址: harbor下载连接地址:https://github.com/goharbor/ha ...
- docker的企业级仓库-harbor
Harbor 一.背景 Docker中要使用镜像,我们一般都会从本地.Docker Hub公共仓库或者其它第三方的公共仓库中下载镜像,但是出于安全和一些内外网的原因考虑,企业级上不会轻易使用.普通的D ...
- docker的私有仓库的搭建
author: headsen chen date:2018-06-30 23:14:16 服务端(私有仓库:centos7_64位),使用端:centos6_64位 1.仓库的搭建: 安装dock ...
- Docker私有镜像仓库Harbor
一.安装Harbor(离线安装包的方式安装) 1.解压离线包 2.进入harbor目录中编辑harbor.yml 3.安装docker-compose yum -y install docker-co ...
- Docker: 企业级镜像仓库Harbor部署(http)
Harbor离线安装包下载地址:https://github.com/goharbor/harbor Docker compose(安装harbor需要用到docker compose)下载地址:ht ...
随机推荐
- C语言报错:“gets”: 找不到标识符。解决方法
C语言报错:“gets”: 找不到标识符. 把“gets”改成“gets_s”即可.
- django 模版查找路径
路径的配置,模版上下文的配置等.模版路径可以在两个地方配置. 1.'DIRS':这是一个列表,在这个列表中可以存放所有的模版路径,以后在视图中使用render或者render_to_string渲染模 ...
- CSS - div中的文字不换行,超出宽度就用省略号表示
问题 过多的文字会把盒子撑开,造成布局错乱. 解决 .card-title { white-space: nowrap; text-overflow: ellipsis; overflow: hidd ...
- synchronized锁机制的实现原理
Synchronized 锁机制的实现原理 Synchronized是Java种用于进行同步的关键字,synchronized的底层使用的是锁机制实现的同步.在Java中的每一个对象都可以作为锁. J ...
- mac系统,docker下载安装
1. docker安装文档 2. Docker下安装SQL Server
- netty(七)buffer源码学习2
概述 文章主要介绍的是PoolArena,PoolChunk,PoolSubpage 三个类的源码 PoolArena PoolArena 是netty 的内存池实现类,通过预先申请一块大的空间,然后 ...
- 解决linux 运行自动化脚本浏览器无法启动问题
1.前提你的驱动和版本对应无问题时,依旧报未知错误无法启动chrome 解决方法加上两行: options.addArguments("no-sandbox");options.a ...
- 如何在应用程序中使用ML.NET?
https://www.cnblogs.com/shanyou/p/9190701.html ML.NET以NuGet包的形式提供,可以轻松安装到新的或现有的.NET应用程序中. 该框架采用了用于其他 ...
- sklearn笔记:决策树
概述 sklearn中决策树的类都在 tree 这个模块下.这个模块总共包含五个类: tree.DecisionTreeClassifier:分类树 tree.DecisionTreeRegresso ...
- ES6:let 与 const
在ES6中,let 用来定义变量,const 用来定义常量 事实上var可以看成是js语言设计上的错误,但是不能移除,因为需要向后兼容 于是提出了一个新的关键字let,可以将let看成更完美的var ...