zoukankan      html  css  js  c++  java
  • 菜鸟系列docker——搭建私有仓库harbor(6)

    docker 搭建私有仓库harbor

    1. 准备条件

    • 安装docker
    sudo yum update
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum list docker-ce --showduplicates | sort -r
    
    可根据上述显示版本自行安装,本人是默认
    sudo yum install docker-ce
    docker version
    sudo systemctl start docker
    

    因为一般docker操作时都需要root用户权限,这里建议把当前用户加入docker用户组

    # 添加 docker 用户组
    groupadd docker
    # 把需要执行的 docker 用户添加进该组,这里是 eggsy
    gpasswd -a eggsy docker
    # 重启 docker
    systemctl restart docker
    

    如果普通用户执行docker命令,如果提示get …… dial unix /var/run/docker.sock权限不够,则修改/var/run/docker.sock权限 使用root用户执行如下命令,即可

    sudo chmod a+rw /var/run/docker.sock
    # docker服务开机自启动
    systemctl enable docker
    
    • 安装docker-compose
    sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    

    2.安装haobor

    2.1下载harbor

    这里选择离线包,各位自行选择

    https://github.com/goharbor/harbor/releases
    

    2.2准备https证书(不使用https则省略)

    由于Docker上传默认使用的Https,为了不影响客户端的使用,这里使用自签泛域名证书的方式进行测试;这一步也可以不做配置,那么就只支持http的上传,客户端就需要指定授权,具体的方式下面会介绍;如果不想配置https证书或者不想配,可以直接跳过本节直接看下一节.

    • 下载代码
    git clone https://github.com/Fishdrowned/ssl.git
    
    • 生成证书
    ./gen.cert.sh harbor.yunphant.com
    
    如果需要给Ip签名
    subjectAltName = IP:192.168.9.28
    

    2.3修改harbor配置

    进入harbor文件夹,修改harbor.yml

    #主机地址,前面配置的域名
    	hostname: hub.lpf.com
    	
    	# http 相关的配置
    	http:
    	  port: 80
    	
    	# https 相关配置
    	# 默认情况下,https的配置都没有开启,由于我们已经生成了自签的正式,这里就做https的ssl证书配置
    	# 如果不需要https证书,可以将以下配置注释掉
    	https:
    	  # https 的端口,443地址
    	  port: 443
    	  # 签名生成的证书的相关路径
    	  # 以下的路径请根据个人的具体情况配置
    	  certificate: /home/data/keys/harbor/hub.lpf.com.crt
    	  private_key: /home/data/keys/harbor/cert.key.pem
    

    目前我们只修改以上的配置,如果需要更多的配置,可以根据描述进行修改调整;

    2.4安装harbor

    进入harbor目录

    ./install.sh
    

    如果出现问题

    ./prepare
    sudo `which docker-compose` up -d
    

    3.https进行镜像操作

    • 客户端需进行以下准备
      /etc/docker/daemon.json的配置文件下添加授权
    {
       "insecure-registries":["harbor.yunphant.com","192.168.9.8"]
    }
    

    重启

    sudo systemctl restart docker
    

    上面可只加ip,域名可配。
    如果配置harbor.yunphant.com的话序添加host文件

    192.168.9.8 harbor.yunphant.com
    
    • 客户端添加HTTPS证书
      mkdir -p /etc/docker/certs.d/harbor.yunphant.com
      // 将上面生成的证书root.crt拷贝到该目录(每个客户端都需要放)
      
    • 客户端配置host文件(可配)
      192.168.9.8 harbor.yunphant.com
      
    • 镜像操作
      如果只使用ip,下面将域名改成ip即可
      docker tag node:8.11.3-alpine harbor.yunphant.com/test/node:8.11.3-alpine
      docker push harbor.yunphant.com/test/node:8.11.3-alpine
      docker pull harbor.yunphant.com/test/node:8.11.3-alpine
      

    4.http进行镜像操作

    首先将harbor配置文件修改为http.

    • 所有访问私有仓库的客户端使用准备
      /etc/docker/daemon.json的配置文件下添加授权
      {
         "insecure-registries":["192.168.9.8:80"]
      }
      
      重启
      sudo systemctl restart docker
      
    • 镜像操作
      1. 登陆网站新建项目test(可选)
        建议根据业务需求新建项目保存对应镜像
      网站:192.168.9.8
      
      1. 给镜像打tag
      docker tag xxx:xxx 192.168.9.8:80/项目名/xxx:xxx
      
      docker tag node:8.11.3-alpine 192.168.9.8:80/test/node:8.11.3-alpine
      
      1. 推送镜像(需要登陆)
      docker login 192.168.9.8:80
      用户名:admin
      密码:yunphant
      
      docker push 192.168.9.8:80/test/node:8.11.3-alpine
      
      1. 拉取镜像
      docker pull 192.168.9.8:80/test/node:8.11.3-alpine
      
    如果你觉得写的不错,请移步www.itkezhan.top或者关注公众号IT程序员客栈
  • 相关阅读:
    OpenSSH免密码登录SSH2
    mysql_init调用卡住原因分析
    磁盘文件读性能测试
    madvise、fadvise、posix_madvise和posix_fadvise函数的使用
    进程间传递文件描述符fd
    Orace开源的异步IO编程库,特点是接口非常简单
    爱奇艺视频窗口显示不出来解决办法
    brk/sbrk和mmap行为分析程序
    编译boost,去掉不使用的组件
    第24课 经典问题解析二
  • 原文地址:https://www.cnblogs.com/i-dandan/p/11487662.html
Copyright © 2011-2022 走看看