docker 私有仓库之Harbor搭建与使用

Posted FRESHMANS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker 私有仓库之Harbor搭建与使用相关的知识,希望对你有一定的参考价值。

Harbor搭建

下载Harbor:

http://harbor.orientsoft.cn/    #下载offline版本

 

配置Harbor


tar xvf harbor-online-installer-v1.1.2.tgz
cd harbor

修改harbor.cfg内容如下:

# 访问管理UI与注册服务的IP地址或主机名,别使用localhost或127.0.0.1,因为Harbor需要被外部的客户端访问。
hostname = 10.10.10.11

# 访问UI与token/notification服务的协议,默认为http。 如果在nginx中开启了ssl,可以设置为https
ui_url_protocol = http

# 发送重置密码的邮件账号。
email_identity = Mail Config
email_server = smtp.263.net
email_server_port = 25
email_username = xxx@xxx.com
email_password = abc
email_from = admin <sample_admin@mydomain.com>
email_ssl = false

## Harbor初始化密码,仅当第一次启动Harbor时有效。在启动Harhor之后失效。
# 从UI上修改管理员密码。
harbor_admin_password = Harbor12345

## 默认情况下认证模式为db_auth,如:证书被存储在本地的数据库中。
# 如果想使用LDAP服务来做认证,则设置为ldap_auth。
auth_mode = db_auth

# ldap的接入点url。
ldap_url = ldaps://ldap.mydomain.com

# 有权限搜索LDAP/AD服务的用户的DN(如:uid=admin,ou=people,dc=mydomain,dc=com)。如果LDAP/AD服务部支持匿名搜索,则需要配置这个DN与ldap_search_pwd。
#ldap_searchdn = uid=searchuser,ou=people,dc=mydomain,dc=com

#the password of the ldap_searchdn
# 在ldap_searchdn配置的用户的密码。
#ldap_search_pwd = password

#The base DN from which to look up a user in LDAP/AD
# 查找用户的最基础的DN
ldap_basedn = ou=people,dc=mydomain,dc=com

# 查询过滤器,用于查找用户,确认过滤器语法是否正确。
#ldap_filter = (objectClass=person)

# 在LDAP搜索时用于匹配用户的属性,可能是uid, cn, email,sAMAccountName或其他属性取决于LDAP/AD。
ldap_uid = uid

# 搜索用户的范围, 1-LDAP_SCOPE_BASE, 2-LDAP_SCOPE_ONELEVEL, 3-LDAP_SCOPE_SUBTREE
ldap_scope = 3

# mysql中root用户的密码,在任何生产环境使用之前请修改。
db_password = root123

# 开启或关闭自签名特性
self_registration = on

# 确认UI中的js文件是否进行压缩。生产环境中,设置为on,开发环境中设置为off。
use_compressed_js = on

# job服务中最大job workers数。
max_job_workers = 3

# 通过令牌服务生成的令牌有效时间(单位:分钟),默认为30分钟。
token_expiration = 30

# 确认当链接远程仓库时,job服务是否验证ssl证书。
# 当远程仓库使用自签名证书或不可信证书时,设置标签为off。
verify_remote_cert = on

# 确认是否为注册令牌生成证书。
# 如果设置为on,prepare脚本将为正在生成的令牌生成新的根证书与私钥用于访问仓库。如果设置为off,则必须提供一个用于生成令牌的证书与私钥。
customize_crt = on


# 证书组织的信息。
crt_country = CN
crt_state = State
crt_location = CN
crt_organization = organization
crt_organizationalunit = organizational unit
crt_commonname = example.com
crt_email = example@example.com

# 此标签用于控制哪些用户具有创建项目的权限。
# 默认情况下为任何一个人,设置为"adminonly"后仅管理员可以创建项目。
project_creation_restriction = everyone

# nginx需要的cert与key文件路径,仅当协议设置为https时生效。
ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key

 

启动

./prepare
docker-compose up -d    #注意与宿主机的端口冲突(3306,80)
./install.sh

 

如果报如下错误信息

解决办法:

pip install docker-compose
./install.sh

安装成功如图

 

但是docker login 10.10.10.11 时提示:

 

解决办法:

修改/usr/lib/systemd/system/docker.service文件,
添加--insecure-registry 10.10.10.11

 

然后从新加载和重启 docker

[root@bogon docker]# systemctl daemon-reload
[root@bogon docker]# systemctl restart docker.service

 

 测试:

 

build并启动
docker-compose up -d 
docker-ccompose down #关闭
harbor启动与关闭命令: docker-compose start docker-compose stop 删除harbor docker-compose rm

 

Harbor使用


新建项目

 


本地先要pull下要上传的镜像进行tag打包

docker login 10.10.10.11
docker tag nginx 10.10.10.11/test/nginx
docker push 10.10.10.11/test/nginx

 查看

 

 

以上是关于docker 私有仓库之Harbor搭建与使用的主要内容,如果未能解决你的问题,请参考以下文章

Docker私有仓库之---Harbor仓库的搭建及使用

Docker私有仓库之---Harbor仓库的搭建及使用

docker搭建私有仓库之harbor

搭建本地Docker私有仓库 与 Harbor私有仓库的部署与管理

Docker搭建私有仓库之Harbor

Docker 搭建本地私有仓库 与 Harbor