搭建企业级Docker Registry -- Harbor

Harbor 是一个企业级的 Docker Registry,可以实现 images 的私有存储和日志统计权限控制等功能,并支持创建多项目(Harbor 提出的概念),基于官方 Registry V2 实现。

下面为搭建过程:

1、安装docker,过程略。

2、安装docker-compose

# curl -L https://github.com/docker/compose/releases/download/1.7.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose

3、配置SSL

# touch /etc/pki/CA/{index.txt,serial}
# echo 01 > /etc/pki/CA/serial
# (umask 077;openssl genrsa -out  /etc/pki/CA/private/cakey.pem 2048)

填写的信息:

Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:China
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:wts
Organizational Unit Name (eg, section) []:sysops
Common Name (eg, your name or your server‘s hostname) []:wts.com
Email Address []:[email protected]
# cat /etc/pki/CA/cacert.pem >> /etc/pki/tls/certs/ca-bundle.crt
# mkdir /app/ssl
# (umask 077;openssl genrsa -out /app/ssl/harbor.key 2048)
# openssl req -new -key /app/ssl/harbor.key -out /app/ssl/harbor.csr

填写的信息:

Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:China
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:wts
Organizational Unit Name (eg, section) []:sysops
Common Name (eg, your name or your server‘s hostname) []:wts.com
Email Address []:[email protected]

Please enter the following ‘extra‘ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
# openssl ca -in /app/ssl/harbor.csr -out /app/ssl/harbor.crt -days 3650
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: May 19 17:46:32 2017 GMT
            Not After : May 17 17:46:32 2027 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = China
            organizationName          = wts
            organizationalUnitName    = sysops
            commonName                = wts.com
            emailAddress              = [email protected]
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:FALSE
            Netscape Comment:
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier:
                12:71:95:95:F2:6E:FE:88:F0:3E:DF:24:1F:D6:01:E6:24:83:05:B5
            X509v3 Authority Key Identifier:
                keyid:B6:44:15:87:F1:3D:14:4E:7A:A0:BA:35:53:69:2D:3C:E9:9E:77:22

Certificate is to be certified until May 17 17:46:32 2027 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

docker创建根证书

# mkdir -p /etc/docker/certs.d/wts.com
# cp /etc/pki/CA/cacert.pem /etc/docker/certs.d/wts.com/ca.crt

重启docker

# systemctl daemon-reload
# systemctl restart docker

4、下载安装Harbor

# wget https://github.com/vmware/harbor/releases/download/v1.1.1-rc1/harbor-online-installer-v1.1.1-rc1.tgz
# tar xf harbor-online-installer-v1.1.1-rc1.tgz
# cd harbor
# vim harbor.cfg
hostname = wtx.com
ui_url_protocol = https
ssl_cert = /app/ssl/harbor.crt
ssl_cert_key = /app/ssl/harbor.key
# ./install.sh

[Step 0]: checking installation environment ...

Note: docker version: 17.05.0

Note: docker-compose version: 1.7.0

......

Creating harbor-log
Creating registry
Creating harbor-adminserver
Creating harbor-db
Creating harbor-ui
Creating harbor-jobservice
Creating nginx

常用操作

#启动
docker-compose start
#关闭
docker-compose stop

#修改配置文件步骤
docker-compose down -v
vim harbor.cfg
./prepare
docker-compose up -d
docker-compose start

如果没有DNS,修改hosts文件

# cat >>/etc/hosts <<EOF
192.168.116.148 wts.com
EOF

测试

# docker login wts.com
Username: admin
Password:   #密码为Harbor12345,harbor.cfg文件中配置
Login Succeeded

其他主机测试

# mkdir -p /etc/docker/certs.d/wts.com
# scp /etc/docker/certs.d/wts.com/ca.crt 192.168.116.147:/etc/docker/certs.d/wts.com/ca.crt
# /etc/init.d/docker restart

浏览器测试

访问https://192.168.116.148

上传镜像:

# docker tag centos wts.com/library/centos
# docker push wts.com/library/centos

查看:

日志:

创建用户

为项目添加成员

测试使用user1用户push镜像

查看日志

时间: 2024-11-08 04:48:44

搭建企业级Docker Registry -- Harbor的相关文章

搭建本地docker registry

搭建本地docker registry: docker pull registry:2 mkdir /home/registry docker run -d -p 5000:5000 --name registry -v /home/registry:/var/lib/registry registry:2 docker ps -a netstat -ntpl | grep 5000 上传image到docker hub: docker tag ubuntu:16.04 localhost:50

搭建私有Docker Registry

Docker的Docker Hub是一个公有的Registry, 从Docker Hub上可以找到很多的官方或个人构建的Docker Image, 通常, 这些image能满足开发.测试的需求.  但是如果想构建的image只在控制范围内共享, 而不是开放环境, 那就得搭建自己的私有Docker Registry. Docker官方实现了docker-registy, 根据官方的说明可以搭建自己的Docker Registry, 官方有两种方式搭建Docker Registry, 一种是按传统的

搭建私服-docker registry

Docke官方提供了Docker Hub网站来作为一个公开的集中仓库.然而,本地访问Docker Hub速度往往很慢,并且很多时候我们需要一个本地的私有仓库只供网内使用.Docker仓库实际上提供两方面的功能,一个是镜像管理,一个是认证.前者主要由docker-registry项目来实现,通过http服务来上传下载:后者可以通过docker-index(闭源)项目或者利用现成认证方案(如nginx)实现http请求管理. 系统环境:CentOS 7.2主机IP:192.168.116.148 1

可能是最详细的部署:Docker Registry企业级私有镜像仓库Harbor管理WEB UI

上一篇文章搭建了一个具有基础功能,权限认证.TLS 的私有仓库,但是Docker Registry 作为镜像仓库,连管理界面都没有,甚至连一些运维必备的功能都是缺失的,还有什么 Docker 镜像仓库管理工具呢?这里有一个简单好用的企业级 Registry 服务器 - Harbor,推荐在生产环境上使用. Harbor 简介 Harbor是VMware公司开源的企业级Docker Registry项目,其目标是帮助用户迅速搭建一个企业级的Docker registry服务. 它以Docker公司

用harbor实现docker registry用于kolla部署openstack

一,     准备docker环境 (一)docker 版本介绍 随着Docker的不断流行与发展,docker公司(或称为组织)也开启了商业化之路,Docker 从        17.03版本之后分为 CE(CommunityEdition)和 EE(EnterpriseEdition). 主要区别:Docker EE由公司支持,可在经过认证的操作系统和云提供商中使用,并可运行来自Docker Store        的.经过认证的容器和插件:Docker CE是免费的Docker产品的新

docker 仓库harbor 1.8.2 http 部署

docker 仓库harbor 1.8.2 http 部署 Harbor是VMware公司开源的企业级Docker Registry项目,项目地址: https://github.com/vmware/harbor1.下载离线安装包 2.安装Docker3.安装docker-compose4. Harbor安装与配置5. Docker主机访问Harbor 部署 curl -L https://github.com/docker/compose/releases/download/1.25.0-r

docker进阶-搭建私有企业级镜像仓库Harbor

为什么要搭建私有镜像仓库 ??对于一个刚刚接触Docker的人来说,官方的Docker hub是用于管理公共镜像.既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像.我们可以非常方便的把我们自己镜像推送上去,但是Docker hub提供的私有仓库个数有限.对于个人来说Docker hub是个不错的选择,但是对于企业来说,相对于安全 ,成本和公司的架构来说搭建自己的私有镜像仓库才是正确的道路. 什么是Harbor?为什么要选择Harbor ??Harbor是一个用于存

使用harbor配置docker registry

前面连说了几篇与kubernetes相关的内容,这篇我们来说说docker registry.docker的registry与kubernetes本身并没有太直接的关系.但是任何使用到docker的地方,总少不了这玩艺儿.所以这篇博文我们专门来说一说如何使用开源的harbor来配置管理我们的私有registry. harbor官方是这么描述harbor的:Harbor是可靠的企业级Registry服务器.企业用户可使用Harbor搭建私有容器Registry服务,提高生产效率和安全度,既可应用于

企业级镜像仓库harbor搭建

企业级镜像仓库harbor搭建 一.    Harbor概述 VMware公司最近开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服务.它以Docker公司开源的registry 为基础,提供了管理UI, 基于角色的访问控制(Role Based Access Control),AD/LDAP集成.以及审计日志(Audit logging) 等企业用户需求的功能,同时还原生支持中文,对广大中国用户是一个好消息. 官方文档:htt