【搭建】Docker之Harbor私服的搭建及使用
2021年02月19日 16:49:46 作者:Jiaozn 分类:Docker 评论(0)
Harbor环境的搭建,以及使用介绍
这里要说明一下,要使用Harbor,需要docker,和docker-compose1
1.Docker 安装
# yum 包更新[root@centos7 ~]# yum update# 卸载旧版本 Docker[root@centos7 ~]# yum remove docker docker-common docker-selinux docker-engine# 安装软件包[root@centos7 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2# 添加 Docker yum源[root@centos7 ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装 Docker[root@centos7 ~]# yum -y install docker-ce# 启动 Docker[root@centos7 ~]# systemctl start docker# 查看 Docker 版本号[root@centos7 ~]# docker --version1234567891011121314151617181920
2.Docker Compose 安装
# 安装 epel-release[root@centos7 ~]# yum install epel-release# 安装 python-pip[root@centos7 ~]# yum install -y python-pip# 安装 docker-compose[root@centos7 ~]# pip install docker-compose# 安装 git[root@centos7 ~]# yum install git# 查看 docker-compose 版本号[root@centos7 ~] docker-compose -version1234567891011121314
点击这里下载Harbor
这里分为在线和离线的版本,我下载的是1.6.0在线的版本
## Configuration file of Harbor
# hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost
hostname = 10.0.86.193
# 访问协议,默认是http,也可以设置https,如果设置https,则nginx ssl需要设置on
ui_url_protocol = http
# mysql数据库root用户默认密码root123,实际使用时修改下
db_password = root123
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 = Harbor12345
# 认证方式,这里支持多种认证方式,如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 = on1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
配置Harbor
配置完成之后再当前目录下执行./prepare,再执行./install.sh。Harbor就回根据当前目录下的docker-compose.yml下载依赖的镜像
启动Harbor
安装完成之后,打开浏览器访问你上边配置的hostname属性,就能看到Harbor的界面了。
账号默认是admin,密码默认Harbor12345(就是你上班配置文件中配置的,如果没有改动的话就是这个)
这里还要在说一个问题
Harbor是搭建完成了,在我们上传项目的时候可能会出现一些问题
docker login 10.0.86.193
Username: admin
Password:
Error response from daemon: Get https://10.0.86.193/v1/users/: dial tcp 10.0.86.193:443: getsockopt: connection refused1234
在我们进行登录上传代码的时候,会报出这样的错误
这是因为docker1.3.2版本开始默认docker registry使用的是https,我们设置Harbor默认http方式,所以当执行用docker login、pull、push等命令操作非https的docker regsitry的时就会报错。
解决办法:
如果是在Harbor本机登录可以这样做如下解决
如果系统是MacOS,则可以点击“Preference”里面的“Advanced”在“Insecure
Registry”里加上10.0.86.193,重启Docker客户端就可以了。
{
"insecure-registries": [
"10.0.86.193"
]
}12345
打开docker-compose.yml添加如下内容,注意前边的空格
然后我们执行docker-compose stop
./install.sh
再次登录就OK了
[root@docker02appl]# docker login 10.0.86.193
Username(admin): admin
Password:
Login Succeeded1234
如果是远程登录的话,也会出现这个错误
查找Docker的服务文件:登录到已经安装Docker的服务器,输入 systemctl status docker查看Docker的service文件。
编辑docker.service文件:在ExecStart处添加 –insecure-registry 参数。
后边跟的是你Harbor的地址
重新加载service文件,重启docker服务。
systemctl daemon-reload
systemctl restart docker12
再次登录:
docker login [ip地址或域名](Harbor地址,harbor.cfg文件中的hostname项)
//根据提示分别输入用户名和密码12
**附上拉取和推送的命令:**
3\.Harbor私服的使用12
#推送之前先登录Harbor
docker login 10.0.86.193
admin
Harbor12345
提示success登录成功
查看自己有哪些镜像;docker images
把需要上传到Harbor的镜像运行如下命令就可以了 #镜像打标签
[root@centos7 ~]#docker tag 镜像名:标签 私服地址/仓库项目名/镜像名:标签
#推送到私服
[root@centos7 ~]#docker push 私服地址/仓库项目名/镜像名:标签
#从私服拉取镜像
[root@centos7 ~]#docker pull 私服地址/仓库项目名/镜像名:标签
除非注明,发表在“Jiaozn的博客”的文章『【搭建】Docker之Harbor私服的搭建及使用』版权归Jiaozn所有。
转载请注明出处为“本文转载于『Jiaozn的博客』原地址https://jiaozn.com/reed/644.html”
评论
发表评论