Harbor 私有仓库配置与公司镜像发布记录
公司历史实践:包含内部镜像仓库、项目名与发布记录。文中同时出现 harbor.cfg 和 harbor.yml,属于不同版本配置格式,不应混用。
Harbor
搭建
需要安装docker 、 docker-compose
- 下载可执行文件下载链接
- 修改配置文件
harbor.yml.tmpl改为harbor.yml- 修改内容、hostanme、db、是否启用ssl(不启用的话就注释掉https内容)
- 运行
./install.sh
harbor.cfg
config
# hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost
# hostname = 192.168.126.162
# 访问协议,默认是http,也可以设置https,如果设置https,则nginx ssl需要设置on
ui_url_protocol = http
# mysql数据库root用户默认密码root123,实际使用时修改下
db_password = 123456
max_job_workers = 3
customize_crt = on
ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key
secretkey_path = /data
admiral_url = NA
# 邮件设置,发送重置密码邮件时使用
email_identity =
email_server = smtp.mydomain.com
email_server_port = 25
email_username = sample_admin@mydomain.com
email_password = abc
email_from = admin <sample_admin@mydomain.com>
email_ssl = false
# 启动Harbor后,管理员UI登录的密码,默认是Harbor12345
harbor_admin_password = 123456
# 认证方式,这里支持多种认证方式,如LADP、本次存储、数据库认证。默认是db_auth,mysql数据库认证
auth_mode = db_auth
# LDAP认证时配置项
ldap_url = ldaps://ldap.mydomain.com
#ldap_searchdn = uid=searchuser,ou=people,dc=mydomain,dc=com
#ldap_search_pwd = password
ldap_basedn = ou=people,dc=mydomain,dc=com
#ldap_filter = (objectClass=person)
ldap_uid = uid
ldap_scope = 3
ldap_timeout = 5
# 是否开启自注册
self_registration = on
# token有效时间,默认30分钟
token_expiration = 30
# 用户创建项目权限控制,默认是everyone(所有人),也可以设置为adminonly(只能管理员)
project_creation_restriction = everyone
verify_remote_cert = on推送
shell
/opt/gomod/example.invalid/demo/sample-service(demo-dev) » docker login 127.0.0.1
Authenticating with existing credentials...
Login Succeeded
docker build -t 127.0.0.1/demo/demo/sample-service .
/opt/gomod/example.invalid/demo/sample-service(demo-dev) » docker push 127.0.0.1/demo/demo/sample-service
The push refers to repository [127.0.0.1/demo/demo/sample-service]
3cd134c4f257: Pushed
c96776dc9aa6: Pushed
b6848af24fca: Pushed
ead684e80a15: Pushed
123497168191: Pushed
f566c57e6f2d: Mounted from demo/sample-service
latest: digest: sha256:1111111111111111111111111111111111111111111111111111111111111111 size: 1571
docker pull 127.0.0.1/demo/demo/sample-service:latest
/opt/gomod/example.invalid/demo/sample-service(demo-dev) » docker run -itd --name sample-service -p 10083:10083/tcp -e RUN_AID="3" -e RUN_TCP="0.0.0.0:10083" 127.0.0.1/demo/demo/sample-service:latest
Unable to find image '127.0.0.1/demo/demo/sample-service:latest' locally
latest: Pulling from demo/demo/sample-service
8cae0e1ac61c: Already exists
3707ce4e4471: Pull complete
89a72a64ecc1: Pull complete
2ae4fb1660bf: Pull complete
044a8a764706: Pull complete
bd189e8b931f: Pull complete
Digest: sha256:1111111111111111111111111111111111111111111111111111111111111111
Status: Downloaded newer image for 127.0.0.1/demo/demo/sample-service:latest
4d4d87d5982aab80f6e52098d3c1773a6c269fbfcdad9197b7a0804fd87b84cc继续阅读
- 知识专题
- 命令
- 命令