harbor 使用

days(2019-10-10)

        前面文章介绍了harbor的部署,今天第一次学习入门使用。

        服务器安装docker以后,我们怎么吧镜像push到我们的私有仓库,和怎么吧镜像pull到本地,首先在服务器上装备docker环境

连接harbor
1
2
3
4
# docker login reg.xxlaila.cn
Username: admin
Password:
Error response from daemon: Get https://172.21.16.90/v1/users/: dial tcp reg.xxlaila.cn:443: connect: connection refused

        这里第一次连接报错,Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是我们搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交时出现以上错误。

解决问题
  • 方法一: 修改或添加配置

    1
    2
    3
    4
    # cat /etc/docker/daemon.json 
    {
    "insecure-registries" : ["reg.xxlaila.cn"]
    }
  • 重新启动docker,并重新登录

    1
    2
    3
    4
    5
    6
    # systemctl restart docker

    # docker login reg.xxlaila.cn
    Username: admin
    Password:
    Login Succeeded
  • 方法二:修改启动文件

    1
    2
    3
    4
    5
    # vim /usr/lib/systemd/system/docker.service  
    ExecStart=/usr/bin/dockerd --insecure-registry reg.xxlaila.cn $DOCKER_NETWORK_OPTIONS

    # systemctl daemon-reload
    # systemctl restart docker
Harbor上创建新项目供上传使用

img

Docker服务器给镜像打标签
1
2
3
4
5
6
7
8
9
10
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/xxlaila/kxl-eureka v2 eb8cf7e3f24f 7 months ago 474 MB

# docker tag docker.io/xxlaila/kxl-eureka:v2 reg.xxlaila.cn/kxl/kxl-eureka:v2

# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/xxlaila/kxl-eureka v2 eb8cf7e3f24f 7 months ago 474 MB
reg.xxlaila.cn/kxl/kxl-eureka v2 eb8cf7e3f24f 7 months ago 474 MB
上传镜像
1
2
3
4
5
6
7
8
# docker push reg.xxlaila.cn/kxl/kxl-eureka:v2
The push refers to a repository [reg.xxlaila.cn/kxl/kxl-eureka]
f6026bf67b63: Pushed
1489a4b0f1dd: Pushed
2af6e035aa36: Pushed
472cfce4528e: Pushed
071d8bd76517: Pushed
v2: digest: sha256:20d3bc74fdcb2fc4cdfc9066f742c828898c728f7e3f2114498ebe2848b71653 size: 1368

img

下载镜像
  • 删除本地镜像

    1
    2
    3
    # docker rmi reg.xxlaila.cn/kxl/kxl-eureka:v2

    # docker rmi docker.io/xxlaila/kxl-eureka:v2
  • 下载harbor上的镜像

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # docker pull reg.xxlaila.cn/kxl/kxl-eureka:v2
    Trying to pull repository reg.xxlaila.cn/kxl/kxl-eureka ...
    v2: Pulling from reg.xxlaila.cn/kxl/kxl-eureka
    a02a4930cb5d: Pull complete
    6ea3dcbee0db: Extracting [==================================================>] 81.4 MB/81.4 MB
    6ea3dcbee0db: Pull complete
    c423a7a79cc1: Pull complete
    7418081934c1: Pull complete
    f89b73853622: Pull complete
    Digest: sha256:20d3bc74fdcb2fc4cdfc9066f742c828898c728f7e3f2114498ebe2848b71653
    Status: Downloaded newer image for reg.xxlaila.cn/kxl/kxl-eureka:v2

img

days(2019-10-12)

        由于公司需求,开发人员比较多,又不想研发用一个账号,也不想给研发一个个的开账号,位置harbor支持了ldap。有了这么一个东西,我们就能很好的为研发创建账号支持研发随时查看docker的镜像。

配置harbor ldap

        新版本的harbor很多东西都可以直接在界面配置,不需要去修改文件,省去了大量的工作,web界面配置更加方便快捷,登录harbor平台,点击配置管理——>修改认证模式,认证模式支持很多类型,这里选择ldap。
img
: 在密码这栏填写需要填写管理员的密码,普通用户的密码是不行的,即使是在管理员的用户也是不行的。
点击测试ldap,提示连接成功后保存
img

配置邮箱

        在配置ldap页面旁边有一个邮箱配置,邮件服务器用于向请求重设密码的用户发送响应。
img
点击测试,测试没问题之后点击保存。

测试ladp连接

        新打开一个一个浏览器窗口,利用ladp账户进行登录。
img
注释: 新版本的在登录界面没有什么选择ldap登录,直接使用ldap账号登录就ok

将项目角色分配给LDAP / AD组

        修改之前的ldap配置,增加组的配置
img
在项目->成员-> +组中。
img
img

设置ldap账户的权限

        当ldap配置以后,ldap账户登录没有管理员权限,我们管理harbor还的使用harbor的admin账户登录,这样无疑对运维人员维护带来了不便利。当ldap用户登录,harbor就会记录该用户,我们设置运维用户为超级管理员,这样就实现了一个账号登录,维护的时候也不用账号切换
img

坚持原创技术分享,您的支持将鼓励我继续创作!
0%