搭建harbor仓库、LDAP认证

ldap: 192.168.199.177

c5game.com

宿主机:192.168.199.224

测试客户机:192.168.199.223

安装docker、docker-compose

访问查看最新版本https://github.com/goharbor/harbor/releases并下载harbor-offline-installer-vxxx.tgz

[[email protected] ~]# cd /opt/
[[email protected]-registry opt]# wget https://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-offline-installer-v1.6.2.tgz
[[email protected] opt]tar zxvf harbor-offline-installer-v1.6.2.tgz && cd !$

修改 harbor.cfg

[[email protected] harbor]# cat harbor.cfg |grep -Ev ‘^$|^#‘
_version = 1.6.0
hostname = 192.168.199.224
ui_url_protocol = http
max_job_workers = 10
customize_crt = on
ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key
secretkey_path = /data
admiral_url = NA
log_rotate_count = 50
log_rotate_size = 200M
http_proxy =
https_proxy =
no_proxy = 127.0.0.1,localhost,ui,registry
email_identity =
email_server = smtp.mydomain.com
email_server_port = 25
email_username = [email protected]
email_password = abc
email_from = admin <[email protected]>
email_ssl = false
email_insecure = false
harbor_admin_password = TTdjy911.500
auth_mode = ldap_auth
ldap_url = ldap://192.168.199.177:389
ldap_searchdn = cn=admin,dc=c5game,dc=com
ldap_search_pwd = TTdjy911.500
ldap_basedn = ou=people,dc=c5game,dc=com
ldap_uid = uid
ldap_scope = 3
ldap_timeout = 5
ldap_verify_cert = true
ldap_group_basedn = ou=group,dc=c5game,dc=com
ldap_group_filter = objectclass=group
ldap_group_gid = cn
ldap_group_scope = 2
self_registration = on
token_expiration = 30
project_creation_restriction = everyone
db_host = postgresql
db_password = root123
db_port = 5432
db_user = postgres
redis_host = redis
redis_port = 6379
redis_password =
redis_db_index = 1,2,3
clair_db_host = postgresql
clair_db_password = root123
clair_db_port = 5432
clair_db_username = postgres
clair_db = postgres
clair_updaters_interval = 12
uaa_endpoint = uaa.mydomain.org
uaa_clientid = id
uaa_clientsecret = secret
uaa_verify_cert = true
uaa_ca_cert = /path/to/ca.pem
registry_storage_provider_name = filesystem
registry_storage_provider_config =
registry_custom_ca_bundle = 

强调:harbor默认链接的是db_auth,如果想使用ldap_auth,

1,在默认情况下第一次登陆的时候在页面的设置里将认证方式改为ldap_auth,一定要将各个配置设置正确;

2,想使用ldap_auth的话,也可以在最初设置认证模式的时候设置为ldap模式,选项设置不正确可以在UI页面设置。

提醒:不管你设置为哪一种模式,只要用户中添加了除管理员的其他用户之后,认证模式就不能再更改;

执行 install.sh  安装

[[email protected] harbor]# ./install.sh

访问  http://192.168.199.224/harbor/sign-in       (如果页面是空白,请更改浏览器模式为‘极速模式’)

LDAP认证

邮件设置

宿主机和客户机都需要更改/etc/sysconfig/docker 不然连接时候报错

docker login 192.168.199.224
Username: admin
Password:
Error response from daemon: Get https://192.168.199.224/v1/users/: dial tcp 10.236.63.76:443: getsockopt: connection refused

这是因为docker1.3.2版本开始默认docker registry使用的是https,我们设置Harbor默认http方式,所以当执行用docker login、pull、push等命令操作非https的docker regsitry的时就会报错。解决办法:

如果系统是MacOS,则可以点击“Preference”里面的“Advanced”在“Insecure Registry”里加上10.236.63.76,重启Docker客户端就可以了。
如果系统是Ubuntu,则修改配置文件/lib/systemd/system/docker.service,修改[Service]下ExecStart参数,增加 --insecure-registry 192.168.199.224

如果系统是Centos,可以修改配置/etc/sysconfig/docker,将OPTIONS增加 --insecure-registry 192.168.199.224

# Modify these options if you want to change the way the docker daemon runs
OPTIONS=‘--selinux-enabled --log-driver=journald --signature-verification=false --insecure-registry 192.168.199.224‘
if [ -z "${DOCKER_CERT_PATH}" ]; then
    DOCKER_CERT_PATH=/etc/docker
fi

然后重启docker服务或者重启宿主机

上传下载镜像

新建一个项目“test” ,访问级别私有,客户机安装docker

客户机下载测试镜像nginx

[[email protected] sysconfig]# docker pull nginx
给nginx镜像重做标签
[[email protected] sysconfig]# docker tag nginx:latest  192.168.199.224/test/nginx:latest
登录服务器
[[email protected] sysconfig]# docker login 192.168.199.224
Username (admin): admin
Password:
Login Succeeded
上传镜像
[[email protected] sysconfig]# docker push 192.168.199.224/test/nginx

使用LDAP账户拉取私库 test 镜像失败

docker pull 192.168.199.224/test/nginx:latest
Error response from daemon: repository 192.168.199.224/test/nginx:latest not found: does not exist or no pull access

这是原因可能有,一是Harbor仓库上test/nginx确实不存在,二是项目未设置公开的时候,该账户未执行docker login 192.168.199.224登录操作,三是该账户对192.168.199.224/test项目没有权限,需要在该项目下增加该成员,并选择角色

如果需要修改Harbor的配置文件harbor.cfg,因为Harbor是基于docker-compose服务编排的,我们可以使用docker-compose命令重启Harbor。不修改配置文件,重启Harbor命令:docker-compose start | stop | restart

1、停止Harbor
$ docker-compose down -v
Stopping nginx ... done
Stopping harbor-jobservice ... done
......
Removing harbor-log ... done
Removing network harbor_harbor

2、启动Harbor
$ docker-compose up -d
Creating network "harbor_harbor" with the default driver
Creating harbor-log ...
......
Creating nginx
Creating harbor-jobservice ... done

参考: https://www.ilanni.com/?p=13492

https://blog.csdn.net/aixiaoyang168/article/details/73549898

  https://ivanzz1001.github.io/records/post/docker/2018/04/11/docker-harbor-uage#2-%E7%94%A8%E6%88%B7%E8%B4%A6%E6%88%B7user-account    使用文档

   https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md#configuring-harbor-listening-on-a-customized-port     官网

原文地址:https://www.cnblogs.com/xiaoyou2018/p/10059037.html

时间: 2024-08-30 11:55:15

搭建harbor仓库、LDAP认证的相关文章

Docker 私有仓库 Harbor registry 安全认证搭建 [Https]

Harbor源码地址:https://github.com/vmware/harborHarbort特性:基于角色控制用户和仓库都是基于项目进行组织的, 而用户基于项目可以拥有不同的权限.基于镜像的复制策略镜像可以在多个 Harbor 实例之间进行复制.支持 LDAPHarbor 的用户授权可以使用已经存在 LDAP 用户.镜像删除 & 垃圾回收Image 可以被删除并且回收 Image 占用的空间.用户 UI用户可以轻松的浏览.搜索镜像仓库以及对项目进行管理.镜像删除 & 垃圾回收绝大部

harbor仓库部署

一.docker-ce安装 step 1:安装一些必要的系统工具 yum install -y yum-utils device-mapper-persistent-data lvm2 Step 2:添加docker镜像源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo Step 3: 安装 Docker-CE yum -y install docker-c

LDAP认证是什么?企业必须要认证LDAP吗?

鉴于最近不少朋友在我网站留言像我资讯关于LDAP认证的相关知识,今天抽空集中给大家讲解下到底什么是LDAP认证,以及企业要不要做LDAP认证呢? 什么是LDAP认证? LDAP认证是通过WSS3.0加上轻量目录LDAP协议搭建的一种认证方式,使用https加密传输,主要用于做文档管理.LDAP认证就是把用户数据放在LDAP服务器上,通过LDAP服务器上的数据对用户进行认证处理,好比采用关系型数据库存储用户信息数据进行用户认证的道理一样. 企业是否要做LDAP身份认证? ①LDAP数据库是对读操作

Docker 搭建私有仓库

搭建私有仓库 首先在136机器上下载registry镜像 $ sudo docker pull registry 下载完之后我们通过该镜像启动一个容器 $ sudo docker run -d -p 5000:5000 registry 默认情况下,会将仓库存放于容器内的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器内的/tmp/registry下,如下: $ sudo docker run -d -p 5000

SVN使用LDAP认证

完成了openldap的配置之后,为了更进一步的进行用户统一身份认证,所以需要配置SVN使用openldap进行认证,这样的话只需要维护ldap中的用户数据,然后在SVN上进行服务授权即可完成SVN的用户权限分配.同样的,这个配置也适合于其他的软件,比如vsftpd,ssh,openvpn等,下面开始配置SVN使用ldap认证. 1.安装sasl SASL全称Simple Authentication and Security Layer,是一种用来扩充C/S模式验证能力的机制. SASL是一个

Docker搭建私有仓库(内网)

1.搭建私有仓库安装yum ×××tall docker-registry但是安装后是后面这个包docker-distribution然后启动服务 服务默认使用的是5000端口然后开始给imange打tag 如果不能解析主机名的话 需要使用ip地址打tag 如下图:docker tag busybox:latest 172.17.234.180:5000/busybox:latest然后开始上传 但是上传会报错 如图这是因为registry默认使用的是https协议而我们上传image默认使用的

docker搭建harbor私有镜像库

创建harbor私有镜像库 一.部署准备: harbor软件包 在部署节点上: 1)解压harbor的软件包将harbor目录下所有文件发送到/opt/目录下 tar zxvf harbor-offline-installer-v1.4.0.tgz [[email protected] kubernetes]# cd harbor [[email protected] harbor]# ls common docker-compose.notary.yml ha harbor.v1.4.0.ta

Gitlab加入LDAP认证

如果企业大大小小系统较多,每个系统都给用户单独配置一账户.这样各个系统的账户信息都要单独记忆,比较繁琐,而且账户信息易忘.所以加入集成 LDAP 统一认证,域控管理.这里对Gitlab应用系统结合LDAP认证,前提是企业内部已搭建好AD域服务. Gitlab配置LDAPGitlab已安装好,安装的CE版本.Gitlab配置LDAP服务要在配置文件中修改,无法像Jenkins加入LDAP那样安装一LDAP插件,然后配置LDAP信息即可.Gitlab中需在默认的配置文件/etc/gitlab/git

Docker搭建私有仓库registry

拉取上传镜像 拉取镜像 docker pull <registry>[:<port>]/[<namespace>/]<name>:<tag> # registry :仓库服务器地址;不指定默认是docker hub # port :端口;默认443,因为是https协议: # namespace :名称空间,指是哪个用户的仓库,如果是顶层仓库,可以省: # name :仓库名: # tag :标签名:默认是latest版本: 上传镜像 docke