zoukankan      html  css  js  c++  java
  • 搭建docker私有仓库harbor

    这里先推荐几篇博客,这是我开始搭建之前先找的文章,觉得不错,但是大佬们用的版本都比较旧,我换成了比较新的版本,旧的和新的配置文件有些不同,以下是我的搭建过程,如有错误和不足,还请指正,共同进步
    https://www.cnblogs.com/kevingrace/p/6547616.html
    https://www.cnblogs.com/pangguoping/p/7650014.html
     
    其中一篇博客中提到的误区,我之前还真的理解错了:

    Harbor的误区
    误区一: Harbor是负责存储容器镜像的 (Harbor是镜像仓库,那么它就应当是存储镜像的)
    其实关于镜像的存储,Harbor使用的是官方的docker registry服务去完成,至于registry是用本地存储或者s3都是可以的,Harbor的功能是在此之上提供用户权限管理、镜像复制等功能,提高使用的registry的效率。

    误区二:Harbor镜像复制是存储直接复制 (镜像的复制,很多人以为应该是镜像分层文件的直接拷贝)
    其实Harbor镜像复制采用了一个更加通用、高屋建瓴的做法,通过docker registry 的API去拷贝,这不是省事,这种做法屏蔽了繁琐的底层文件操作、不仅可以利用现有docker registry功能不必重复造轮子,而且可以解决冲突和一致性的问题。

     
    一、安装依赖
    yum install -y yum-utils   device-mapper-persistent-data    lvm2
     
    二、配置docker安装仓库
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
    三、安装dockerCE
     
    yum install docker-ce -y
    启动docker
    systemctl start docker
    
    如果需要卸载docker-ce,操作如下:
     
    yum remove docker-ce
    卸载后images,containers,volumes,configuration files 是不能自动删除的,为了删除all images,containers,and volumes,请执行如下命令:
    rm -rf /var/lib/docker
    
     
    四、安装docker-compose
    注意安装版本,下面的版本可以改的
    curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compos
     
    赋予docker-compose可执行权限
     
    chmod +x /usr/local/bin/docker-compose
    根据自己的情况决定是否安装命令补全功能
    yum install bash-completion
    

    卸载docker-compose

    rm  /usr/local/bin/docker-compose
    
     
    五、安装harbor
    wget https://github.com/goharbor/harbor/releases/download/v1.10.1/harbor-online-installer-v1.10.1.tgz
    tar -xvf harbor-online-installer-v1.10.1.tgz
     
    修改配置文件
     1 cd harbor
     2 vim harbor.yml
     3 hostname: xxx.xxx.xxx.xxx      ##访问UI和仓库的IP或者hostname
     4 http:
     5 port: 8000      ##UI访问端口,有些公网IP不能直接访问80端口,要改一下
     6 harbor_admin_password: Harbor12345     ##登录harborUI的密码,建议更改
     7 database:
     8 password: root123
     9 max_idle_conns: 50
    10 max_open_conns: 100
    11 data_volume: /data
    12 clair:
    13 updaters_interval: 12
    14 jobservice:
    15 max_job_workers: 10
    16 notification:
    17 webhook_job_max_retry: 10
    18 chart:
    19 absolute_url: disabled
    20 log:
    21 level: info
    22 local:
    23 rotate_count: 50
    24 rotate_size: 200M
    25 location: /var/log/harbor
    26 _version: 1.10.0
     
      
    执行安装脚本
    sh install.sh
    
     
    六、创建项目和仓库
    用户名admin
    密码Harbor123456
    登录创建项目,创建用户,给项目添加用户
     
    七、故障排查
    docker客户端访问harbor会报错:
    http: server gave HTTP response to HTTPS client
    原因是docker在1.3版本之后的docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以我们要设置一下客户端用http去访问server:
    需要添加信任,有两个方法:
    1、/etc/docker/daemon.json中添加 { "insecure-registries":[“ip:port"] }
    2、/usr/lib/systemd/system/docker.service中ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 后面加--insecure-registry=ip:port
     
    修改之后重启docker
    我的docker版本是19.03.8,第一种方法不生效,用了第二种方法生效的
    之后登录我们之前创建好的账户
    docker login xxx.xxx.xxx.xxx:8000
    之后就可以正常打标签上传镜像了
  • 相关阅读:
    ip地址查询python3小工具_V0.0.1
    安恒 堡垒机 明御®运维审计与风险控制系统 部署中遇到的问题
    zping ping包工具20180605.exe测试版
    zping ping包工具20180524.exe测试版
    XSS练习平台-XSS Challenges
    温暖而又美妙的语言
    无法连接仓库:Error performing git command: /usr/local/src/git-2.9.5 ls-remote -h https://gitee.com/skynetInfo/auto-webui HEAD
    jenkins安装方式及启动配置
    Can't open file '/opt/svn/path/db/txn-current-lock': Permission denied
    centos部署maven私服
  • 原文地址:https://www.cnblogs.com/Christine-ting/p/12660778.html
Copyright © 2011-2022 走看看