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
查看