精华内容
下载资源
问答
  • harbor仓库

    2020-07-04 20:39:13
    安装docker: [root@server7 Downloads]# yum install -y docker-ce container-selinux-2.77-1.el7.noarch.rpm [root@server7 Downloads]# tar zxf harbor-offline-...[root@server7 harbor]# vim harbor.yml .

    安装docker:

    [root@server7 Downloads]# yum install -y docker-ce  container-selinux-2.77-1.el7.noarch.rpm

    [root@server7 Downloads]# tar zxf harbor-offline-installer-v1.10.1.tgz

    [root@server7 Downloads]# cd harbor/

    [root@server7 harbor]# vim harbor.yml

    [root@server7 harbor]# ./install.sh     ##运行脚本出错

    下载docker-compose(1.18.0+)   http://mirrors.aliyun.com/docker-toolbox/linux/compose/1.21.2/

    [root@server7 Downloads]# mv docker-compose-Linux-x86_64  /usr/local/bin/docker-compose

    [root@server7 Downloads]# chmod +x /usr/local/bin/docker-compose

    [root@server7 harbor]# ./install.sh     ##运行脚本

    [root@server7 harbor]# netstat -antlp   ##80端口

    访问:

    登陆:用户名:admin     密码:westos

    [root@server7 harbor]# vim /etc/hosts       ##添加解析

    为Docker仓库添加证书加密功能:

    [root@server7 harbor]# docker-compose stop     ##停掉docker-compose

    [root@server7 harbor]# vim harbor.yml        ##开启加密

    [root@server7 harbor]# cd /data/
    [root@server7 data]# mkdir -p certs

    [root@server7 data]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/westos.org.key -x509 -days 365 -out certs/westos.org.crt        ##生成证书

    [root@server7 harbor]# ./prepare          ##预处理

    [root@server7 harbor]# ./install.sh

    [root@server7 harbor]# netstat -antlp

    访问:192.168.21.138    选择高级接受风险进入

    在远程主机上传镜像:

    [root@server6 docker]# vim /etc/hosts    ##添加解析

    [root@server6 docker]# docker tag nginx:latest reg.westos.org/library/nginx:latest

    [root@server6 docker]# docker push reg.westos.org/library/nginx     ##报错提示无证书

    [root@server6 docker]# mkdir -p /etc/docker/certs.d/westos.org/     ##创建目录

    [root@server6 certs.d]# mv westos.org/ reg.westos.org                   ##修改名称

    [root@server7 certs]# scp westos.org.crt root@192.168.21.133:/etc/docker/certs.d/reg.westos.org/ca.crt        ##在server7中复制证书

    使用用户登陆:

    [root@server6 reg.westos.org]# docker login  reg.westos.org

    上传:

    [root@server6 reg.westos.org]# docker push reg.westos.org/library/nginx

    查看:

    下载:

    [root@server6 reg.westos.org]# docker logout  reg.westos.org   ##注销

    [root@server6 reg.westos.org]# docker pull reg.westos.org/library/nginx   ##下载

    配置拉取私有仓库镜像:(加速器)

    [root@server6 reg.westos.org]# cd /etc/docker/

    [root@server6 docker]# vim daemon.json

    [root@server6 docker]# systemctl restart docker 

    测试:

    [root@server6 docker]# docker pull nginx

    [root@server7 docker]# mkdir certs.d/reg.westos.org/ -p

    [root@server7 docker]# cd certs.d/reg.westos.org/

    [root@server7 reg.westos.org]# cp /data/certs/westos.org.crt ca.crt        ##拷贝证书

    [root@server7 ~]# docker login reg.westos.org

    [root@server7 docker]# docker pull yakexi007/game2048    ##下载镜像

    [root@server7 docker]# docker tag yakexi007/game2048:latest reg.westos.org/library/game2048     ##重命名

    [root@server7 certs.d]# docker push reg.westos.org/library/game2048      ##上传镜像

    [root@server6 docker]# docker pull game2048    ##在远程主机拉取镜像

     

    新建私有仓库:

    创建用户:

    将用户贴加为开发人员:

    用开发人员用户上传镜像:

    [root@server6 docker]# docker login reg.westos.org


     

    [root@server6 docker]# docker tag game2048:latest reg.westos.org/westos/game2048    ##命名

    [root@server6 docker]# docker push reg.westos.org/westos/game2048      ##上传

    查看:

    [root@server7 harbor]# docker rmi yakexi007/game2048    ##删除虚拟机中已有的game2048

    [root@server7 harbor]# docker pull reg.westos.org/game2048   ##退出后拉取失败

    添加认证:

    [root@server7 ~]# docker pull reg.westos.org/westos/game2048    ##拉取

    [root@server7 harbor]# docker-compose stop   ##关闭

    [root@server7 harbor]# ./install.sh --with-notary --with-clair --with-chartmuseum     ##加入参数(信任,扫描)

    查看:

    扫描:

    harbor仓库部署镜像扫描:

    为了系统运行安全加入扫描和信任:

    测试,以busybox为例:

    [root@server7 harbor]# docker login reg.westos.org

    [root@server7 harbor]# docker pull busybox    ##拉取镜像

    [root@server7 harbor]# docker tag busybox:latest reg.westos.org/library/busybox    ##打签

    [root@server7 harbor]# docker push reg.westos.org/library/busybox

    查看:

    展开全文
  • 企业 harbor仓库部署

    2020-06-17 23:58:13
    Harbor 安装配置 镜像管理 镜像上传 远程主机上传镜像 配置私有仓库拉取镜像 harbor私有仓库 Harbor仓库镜像漏洞扫描和信任认证

    Harbor

    Harbor本身自带 docker 私有仓库,改变了传统的交付方式。通过把业务及其依赖的环境打包进Docker镜像,解决了开发环境和生产环境的差异问题,提升了业务交付的效率。如何高效地管理和分发Docker镜像?是众多企业需要考虑的问题。

    Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,可以用来构建企业内部的Docker镜像仓库。
    它在Docker的开源项目 Distribution的基础上,添加了一些企业需要的功能特性,如镜像同步复制、漏洞扫描和权限管理等。

    安装配置

    官方的下载地址:https://github.com/goharbor/harbor/releases

    解压harbor的压缩包

    [root@server3 ~]# tar xfz harbor-offline-installer-v1.10.1.tgz
    [root@server3 ~]# ls
    harbor  harbor-offline-installer-v1.10.1.tgz
    

    因为这里harbor是使用容器的方式部署镜像的所以需要在主机上安装docker-ce,并且开启docker,解决警告信息

    配置

    在harbor目录里编辑配置

    [root@server3 ~]# cd harbor/		#进入解压出来的harbor目录
    [root@server3 harbor]# vim harbor.yml	#编辑配置文件
      5 hostname: reg.test.com	#自定义一个主机名,这个主机名时需要添加地址解析的才能使用的
     13 #https:	#这里我们只是测试关闭https用http的80端口即可
     15 #  port: 443
     27 harbor_admin_password: redhat123	#设置登陆admin用户的密码
    

    保存配置,直接执行脚本去启动harbor

    [root@server3 harbor]# ./install.sh 
    
    [Step 0]: checking if docker is installed ...
    
    Note: docker version: 19.03.11
    
    [Step 1]: checking docker-compose is installed ...
    ✖ Need to install docker-compose(1.18.0+) by yourself first and run this script again.
    

    这里注意:启动harbor还需要一个docker插件docker-compose,这个插件可以将多个镜像整合为一个应用去进行部署
    下载地址:因为是从github下载所以速度真的是挺慢的

    curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    

    推荐可以从阿里云上的资源去下载速度很快:http://mirrors.aliyun.com/docker-toolbox/,找最新版就行

    将下载的docker-compose放在/usr/local/bin/里,并添加x执行权限,可以去调用它

    [root@server3 ~]# mv docker-compose-Linux-x86_64-1.24.1 /usr/local/bin/docker-compose
    [root@server3 ~]# chmod +x /usr/local/bin/docker-compose
    

    然后再去harbo目录里执行启动脚本,就正常了
    在这里插入图片描述
    执行成功后会生成一个docker-compose.yml文件,里面记录了docker-compose的各种配置

    [root@server3 harbor]# ls
    common     docker-compose.yml     harbor.yml  LICENSE
    common.sh  harbor.v1.10.1.tar.gz  install.sh  prepare
    

    也可以通过docker-compose查看开启的镜像
    在这里插入图片描述

    这时成功开启后我们就可以去通过网页直接访问了,输入主机的ip就可以直接访问到,还可以选择中文,用户密码就是开启前修改的admin 的密码
    在这里插入图片描述
    在这里插入图片描述

    镜像管理

    镜像上传

    登陆harbor之后会有一个默认的项目library,我们可以测试往这个项目里去上传镜像
    在这里插入图片描述

    在本机主机上先下载或添加一个镜像

    [root@server3 ~]# docker load -i busybox.tar 
    8a788232037e: Loading layer   1.37MB/1.37MB
    Loaded image: busybox:latest
    

    然后对这个镜像进行打标签

    [root@server3 ~]# docker tag busybox:latest localhost/library/busybox
    

    下来就是推送,注意打标签时可以直接使用reg.test.com/library/busybox ,但是这样操作必须是harbor开启https认证,否则上传时会报错被拒绝,我们因为使用同一台主机,直接使用本地的80端口就可以上传。
    上传之前还是需要登陆认证

    [root@server3 harbor]# docker login localhost	#登陆
    Username: admin
    Password: 
    Login Succeeded
    
    [root@server3 harbor]# docker push localhost/library/busybox	#上传镜像
    The push refers to repository [localhost/library/busybox]
    8a788232037e: Pushed 
    latest: digest: sha256:915f390a8912e16d4beb8689720a17348f3f6d1a7b659697df850ab625ea29d5 size: 527
    

    然后在harbor页面里就可以看到了
    在这里插入图片描述
    并且在它的日志里会详细记录所有的操作,谁对什么镜像做了什么操作
    在这里插入图片描述

    远程主机上传镜像

    删除网页上刚才上传的镜像,在主机里退出docker登陆,关闭harbor,去添加https认证

    [root@server3 harbor]# docker logout localhost
    Removing login credentials for localhost
    [root@server3 harbor]# docker-compose stop
    

    在配置文件打开https加密

    [root@server3 harbor]# vim harbor.yml 
     13 https:	#打开之前注释的https功能
     14   # https port for harbor, default is 443
     15   port: 443
     16   # The path of cert and key files for nginx
     17   certificate: /data/certs/test.com.crt	#指定证书的存放位置
     18   private_key: /data/certs/test.com.key	#指定key的位置
    

    去在配置文件里自己指定的位置创建证书

    [root@server3 harbor]# cd /data/
    [root@server3 data]# mkdir -p certs
    [root@server3 data]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/test.com.key -x509 -days 365 -out certs/test.com.crt
    -----
    Country Name (2 letter code) [XX]:CN
    State or Province Name (full name) []:SHAANXI
    Locality Name (eg, city) [Default City]:Xi'an
    Organization Name (eg, company) [Default Company Ltd]:redhat    
    Organizational Unit Name (eg, section) []:linux 
    Common Name (eg, your name or your server's hostname) []:reg.test.com
    Email Address []:root@test.com
    

    回到harbor目录,使用脚本去重载配置文件,重启服务

    [root@server3 data]# cd ~/harbor/
    [root@server3 harbor]# ./prepare 
    [root@server3 harbor]# ./install.sh 
    

    重启成功后再去访问网页时就会自动定位到https,443端口
    因为我们的证书是自己创建的并没有去花钱认证所以标记为不可信的
    在这里插入图片描述

    这时我们就可以使用另一台主机进行远程连接,上传镜像。
    准备一个镜像,并给主机添加解析

    [root@server2 ~]# docker images
    nginx                      latest              2622e6cca7eb        7 days ago          132MB
    

    给这台主机配置证书,可以去访问harbor主机的443端口

    远程主机创建目录存放证书
    [root@server2 ~]# mkdir -p /etc/docker/certs.d/reg.test.com	
    
    从harbor主机将证书传给远程主机改名为ca.crt
    [root@server3 harbor]# scp /data/certs/test.com.crt server2:/etc/docker/certs.d/reg.test.com/ca.crt
    

    给这个镜像打标签,登陆仓库,推送镜像

    [root@server2 ~]# docker tag nginx:latest reg.test.com/library/nginx	#打标签
    
    [root@server2 ~]# docker login reg.test.com	#登陆认证
    Username: admin	#因为只有一个用户,就是用它登陆
    Password:
    Login Succeeded
    
    [root@server2 ~]# docker push reg.test.com/library/nginx	#上传镜像
    

    成功上传,镜像可以显示出来
    在这里插入图片描述

    配置私有仓库拉取镜像

    这里私有拉取仓库目的是更改默认镜像下载的地址,正常我们使用docker pull nginx 肯定是从官方或自己设置的加速地址拉取的,现在设置直接可以从我们自己的harbor里拉取镜像。

    远程主机操作测试,配置私有仓库路径

    [root@server2 ~]# vim /etc/docker/daemon.json
    {
      "registry-mirrors": ["https://reg.test.com"]	#配置自己的仓库地址
    }
    
    [root@server2 ~]# systemctl restart docker	#重启服务
    

    我的仓库里有一个busybox,但是主机上没有这个镜像,我就去拉取这个镜像
    在这里插入图片描述
    拉取镜像的时候不需要验证,直接执行pull指令就可以

    [root@server2 ~]# docker pull busybox	#拉去镜像
    Using default tag: latest
    latest: Pulling from library/busybox
    90e01955edcd: Pull complete 
    Digest: sha256:915f390a8912e16d4beb8689720a17348f3f6d1a7b659697df850ab625ea29d5
    Status: Downloaded newer image for busybox:latest
    docker.io/library/busybox:latest
    

    harbor的日志里也可以看到拉取的信息
    在这里插入图片描述

    Harbor私有仓库

    之前harbor里的library仓库是公开的,对所有人都可见,那现在就需要配置一个不公开的仓库
    在这里插入图片描述

    建立新仓库,第定义名称,-1表示无限制
    在这里插入图片描述

    接着去建立一个新用户,在左侧点击用户管理,添加新用户,自定义
    在这里插入图片描述
    然后到我们的建立的私有项目里,成员选项,+成员,把这个用户添加进去,并且可以给它设置身份,不同的身份会有权限的限制,项目管理员肯定是最大的权限
    在这里插入图片描述
    这里我设置为维护人员
    在这里插入图片描述
    设置好之后就可以使用这个用户去登陆harbor,但是它的权限很小,可以看到,除了项目和日志的查看功能,其他的都没有
    在这里插入图片描述

    测试私有仓库的上传和拉取

    镜像上传

    [root@server2 ~]# docker login reg.test.com
    Username: howei	#使用我们建立的用户登陆
    Password: 
    Login Succeeded
    
    [root@server2 ~]# docker tag busybox:latest reg.test.com/redhat/busybox	#打标签给私有仓库里
    [root@server2 ~]# docker push reg.test.com/redhat/busybox	#上传镜像
    The push refers to repository [reg.test.com/redhat/busybox]
    8a788232037e: Pushed 
    latest: digest: sha256:915f390a8912e16d4beb8689720a17348f3f6d1a7b659697df850ab625ea29d5 size: 527
    

    在这里插入图片描述

    镜像拉取

    注意因为这是私有仓库,如果登陆认证是无法拉取镜像的

    [root@server2 ~]# docker rmi reg.test.com/redhat/busybox
    [root@server2 ~]# docker rmi busybox		#删除本地已存在镜像
    
    [root@server2 ~]# docker logout reg.test.com		#登出
    Removing login credentials for reg.test.com
    [root@server2 ~]# docker pull reg.test.com/redhat/busybox	#拉取时被拒绝了
    Using default tag: latest
    Error response from daemon: pull access denied for reg.test.com/redhat/busybox, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
    

    私有仓库拉取必须使用仓库认证的用户先登验证,再拉取

    [root@server2 ~]# docker login reg.test.com
    Username: howei
    Password: 
    Login Succeeded
    
    [root@server2 ~]# docker pull reg.test.com/redhat/busybox
    Using default tag: latest
    latest: Pulling from redhat/busybox
    90e01955edcd: Pull complete 
    Digest: sha256:915f390a8912e16d4beb8689720a17348f3f6d1a7b659697df850ab625ea29d5
    Status: Downloaded newer image for reg.test.com/redhat/busybox:latest
    reg.test.com/redhat/busybox:latest
    

    Harbor仓库镜像漏洞扫描和信任认证

    漏洞扫描和信任认证功能默认在运行harbor时是没有开启的,所以我们需要关闭,重新开启它增加参数

    [root@server3 harbor]# docker-compose stop
    
    [root@server3 harbor]# ./install.sh  --with-notary --with-clair --with-chartmuseum
     --with-notary镜像信任功能 --with-clair镜像扫描漏洞功能
    

    再次开启后,刷新页面,可以看到仓库里多了Helm Charts功能,在镜像里也能看到扫描的信息
    在这里插入图片描述
    在这里插入图片描述

    镜像扫描

    我们可以手动勾选取点击扫描,检测看镜像是否有漏洞
    在这里插入图片描述

    可以在项目仓库的配置管理里去勾选自动扫描的选项,在上传镜像时自动去扫描漏洞,记着点保存
    在这里插入图片描述

    然后我们去打标签镜像,再去上传到library里

    [root@server2 ~]# docker login reg.test.com	#登陆
    Username: admin
    Password: 
    Login Succeeded
    
    [root@server2 ~]# docker tag reg.test.com/redhat/busybox reg.test.com/library/busybox:v2 	#打标签
    [root@server2 ~]# docker push reg.test.com/library/busybox	#上传
    The push refers to repository [reg.test.com/library/busybox]
    8a788232037e: Layer already exists 
    v2: digest: sha256:915f390a8912e16d4beb8689720a17348f3f6d1a7b659697df850ab625ea29d5 size: 527
    

    可以在harbor里看到镜像自动扫描了
    在这里插入图片描述

    镜像信任

    镜像信任功能可以保证镜像的安全,因为只有打了信任标签的镜像才可以被拉取
    测试,先使用admin管理员登陆认证

    [root@server2 ~]# docker login reg.test.com	#登陆
    Username: admin
    Password: 
    Login Succeeded
    

    然后在配置管理里勾选内容信任
    在这里插入图片描述
    删除本地的busybox,再去拉取library里的busybox镜像
    会得到一个错误镜像没有签名

    [root@server2 ~]# docker pull reg.test.com/library/busybox
    Using default tag: latest
    Error response from daemon: unknown: The image is not signed in Notary.
    

    这就是在开启信任认证之后,没有签名的镜像都不能被随意拉取
    以签名是“×”
    在这里插入图片描述

    信任签名设置

    部署证书:

    [root@server3 ~]# cd ~/.docker/
    [root@server3 .docker]# mkdir -p tls/reg.test.com:4443/
    [root@server3 .docker]# cp /etc/docker/certs.d/reg.test.com/ca.crt  tls/reg.test.com:4443/ca.crt
    

    添加参数,开启内容信任

    [root@server3 .docker]# export DOCKER_CONTENT_TRUST=1
    [root@server3 .docker]# export DOCKER_CONTENT_TRUST_SERVER=https://reg.test.com:4443
    
    [root@server3 harbor]# netstat -ntlp
    tcp6       0      0 :::4443                 :::*                    LISTEN      25233/docker-proxy  
    

    上传镜像测试,上传到library仓库里,因为这里面我们开启了内容信任,记着要先登陆认证
    注意:要上传签名的镜像必须是有标签的,如果没有打标签,上传就会有签名,因为两个是绑定的。

    [root@server3 harbor]# docker tag busybox:latest reg.test.com/library/busybox:v3	#打标签
    [root@server3 harbor]# docker push reg.test.com/library/busybox:v3	#上传
    ---
    Enter passphrase for new root key with ID 8ce0c6d: 	#因为有信任标签,这里就需要设置root的认证码
    Repeat passphrase for new root key with ID 8ce0c6d: 
    Enter passphrase for new repository key with ID a0b00c3: 	#设置repository的认证码
    Repeat passphrase for new repository key with ID a0b00c3: 
    

    上传成功后,在harbor里就可以看到已签名的的标志,而且打了签名的镜像不能随意的去删除
    在这里插入图片描述

    然后我们去其他认证的主机上就可以拉取打了签名的镜像了

    [root@server2 ~]# docker pull reg.test.com/library/busybox:v3
    v3: Pulling from library/busybox
    Digest: sha256:915f390a8912e16d4beb8689720a17348f3f6d1a7b659697df850ab625ea29d5
    Status: Downloaded newer image for reg.test.com/library/busybox:v3
    reg.test.com/library/busybox:v3
    
    
    删除签名

    命令删除签名

    [root@server3 harbor]# docker trust revoke reg.test.com/library/busybox:v3
    Enter passphrase for repository key with ID a0b00c3: 	#上传时设置的密码
    Successfully deleted signature for reg.test.com/library/busybox:v3
    

    页面刷新也可以看到,签名变为“×”了
    在这里插入图片描述

    展开全文
  • Harbor仓库清理

    千次阅读 2019-06-18 11:12:25
    Harbor仓库清理脚本 #!/bin/bash set -e HARBOR_URL=192.168.137.129 HARBOR_PASSWD=Harbor12345 OLD_VERSION_NUM=2 function get_repos_list(){ repos_list=$(curl -s -k -u admin:${HARBOR_PASSWD} https://${...

    Harbor仓库清理脚本

    #!/bin/bash
    set -e
    HARBOR_URL=192.168.137.129
    HARBOR_PASSWD=Harbor12345
    OLD_VERSION_NUM=2
    
    function get_repos_list(){
      repos_list=$(curl -s -k -u admin:${HARBOR_PASSWD} https://${HARBOR_URL}/api/projects?page=1&page_size=50)
      mkdir -p $PWD/reposList
      echo "${repos_list}" | jq '.[]' | jq -r '.project_id' > $PWD/reposList/reposList.txt
    }
    function get_images_list(){
      mkdir -p $PWD/imagesList
      for repo in $(cat $PWD/reposList/reposList.txt);do
        images_list=$(curl -s -k -u admin:${HARBOR_PASSWD} https://${HARBOR_URL}/api/repositories?project_id=${repo})
        echo "${images_list}" | jq '.[]' | jq -r '.name' > $PWD/imagesList/${repo}.txt
      done
    }
    function delete_images(){
      #### get html
      htmlinfo=$(curl -s -k -u admin:${HARBOR_PASSWD} https://${HARBOR_URL}/api/repositories/$1/tags)
      #### images num
      num=$(echo "${htmlinfo}" | jq "length - ${OLD_VERSION_NUM}")
      if [[ "${num}" -le "0" ]]; then
        echo "$1 has no need of cleanup!!!"
        return
      fi
      #### get images_tag
      for index in $(seq 0 ${num}); do
        tag=$(echo "${htmlinfo}" | jq ".[${index}]" | jq -r '.name')
        echo "images=$1 ************************** tag= ${tag}"
        curl -s -k -u admin:${HARBOR_PASSWD} -X DELETE https://${HARBOR_URL}/api/repositories/$1/tags/${tag}
      done
    }
    function clean_registry(){
      image_name=$(docker ps | grep registry | grep photon | awk -F " " '{print $2}')
      docker run -it --name gc --rm --volumes-from registry ${image_name} garbage-collect  /etc/registry/config.yml
    }
    function entrance(){
      serverip=`ip addr|grep inet|grep 192.168|grep -v inet6|awk '{print $2}'|cut -d/ -f1`
      if [[ "$serverip" != "${HARBOR_URL}" ]]; then
        echo "harbor is not running in the machine!!!"
        exit 1  
      fi
      get_repos_list
      get_images_list
      for repo in $(cat $PWD/reposList/reposList.txt);do
        for images in $(cat $PWD/imagesList/${repo}.txt); do
          delete_images ${images}
        done
      done
      clean_registry
    }
    entrance
    
    展开全文
  • harbor仓库部署

    2020-09-28 10:46:27
    harbor仓库部署 Harbor - 企业级 Docker 私有仓库 安装前置环境 1: 安装必要的一些系统工具 yum install -y yum-utils device-mapper-persistent-data lvm2 2: 添加软件源信息 yum-config-manager --add-repo ...

    harbor仓库部署

    Harbor - 企业级 Docker 私有仓库

    安装前置环境

    1: 安装必要的一些系统工具
    yum install -y yum-utils device-mapper-persistent-data lvm2
    2: 添加软件源信息
    yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    3: 更新并安装Docker-CE
    yum makecache fast
    yum -y install docker-ce docker-compose
    

    Harbor安装

    Harbor官方地址

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

    下载解压软件包

    wget https://github.com/goharbor/harbor/releases/download/v2.0.3/harbor-offline-installer-v2.0.3.tgz
    mkdir -p /harbor
    tar xf harbor-offline-installer-v2.0.3.tgz -C /harbor/
    cd /harbor/harbor/
    cp harbor.yml.tmpl harbor.yml
    

    配置https证书(有正式证书可忽略)

    openssl genrsa -des3 -out server.key 2048
    

    在这里插入图片描述

    openssl req -new -key server.key -out server.csr
    

    在这里插入图片描述

    cp server.key server.key.org
    openssl rsa -in server.key.org -out server.key
    

    在这里插入图片描述

    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
    

    在这里插入图片描述

    修改配置文件

    [root@harbor harbor]# grep '^[a-Z ]' harbor.yml | grep -v '  #'
    

    在这里插入图片描述

    运行脚本进行安装

    ./install.sh
    

    配置hosts解析(有正式域名可忽略)

    C:\Windows\System32\drivers\etc\hosts
    

    在这里插入图片描述

    测试访问

    账号密码(默认)
    admin/Harbor12345
    

    在这里插入图片描述

    配置hosts(所有节点执行)

    echo "10.0.0.64 xiaofei.com" >> /etc/hosts
    

    其他需要使用仓库节点需配置

    [root@node-02 ~]# cat /etc/docker/daemon.json 
    {
    "registry-mirrors": ["https://registry.docker-cn.com"],
    "insecure-registries": ["https://xiaofei.com"]
    }
    
    systemctl restart docker.service
    

    登录仓库

    docker login https://xiaofei.com
    

    在这里插入图片描述

    测试是否能成功上传镜像(前提有镜像)

    docker tag nginx:alpine xiaofei.com/library/nginx:v1
    

    在这里插入图片描述

    其他节点测试拉取

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 清理Harbor仓库

    2020-08-01 15:18:33
    由于开发和测试环境的发布比较频繁,Harbor仓库在使用一段时间之后,就存储了大量的镜像,占用了比较大的磁盘空间。所以需要通过删除那些时间比较久远的镜像来释放服务器的磁盘空间。 二、处理方法 注:我这边的...
  • 部署Harbor仓库

    2019-11-12 20:21:37
    部署Harbor仓库 wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.0.tgz curl -L ...
  • docker搭建私有harbor仓库一 harbor是什么二 harbor架构与组件介绍三 搭建私有harbor仓库3.1 案例环境3.2 安装docker-compose插件3.3 解压harbor软件包3.4 修改配置文件 harbor.cfg3.5 执行脚本安装并查看容器3.6 远...
  • CentOS搭建Harbor仓库

    2020-04-28 15:31:48
    搭建Harbor仓库搭建Harbor安装docker安装docker-compose安装Harbor访问Https访问Harbor 搭建Harbor root用户运行 安装docker yum install -y yum-utils #安装docker源 yum-config-manager --add-repo ...
  • harbor仓库的部署

    2020-06-26 00:38:46
    1.harbor仓库 安装 下载安装包https://github.com/goharbor/harbor/releases # yum install -y docker-ce 安装docker # systemctl start docker # tar -zxf harbor-offline-installer-v1.10.1.tgz # cd harbor ...
  • 文章目录1、搭建私有仓库2、仓库加密 认证远程拉取仓库签名加密认证3、harbor仓库 1、搭建私有仓库 Docker 仓库是用来包含镜像的位置,Docker提供一个注册服 务器(Register)来保存多个仓库,每个仓库又可以包含多个 ...
  • harbor仓库安装包

    2019-01-29 10:59:44
    VMware中国社区团队维护的harbor镜像仓库安装包,需要的朋友请下载哦
  • 本地Harbor仓库搭建

    2020-12-15 17:29:37
    建立本地Harbor仓库 在docker的daemon.json 中添加证书相关配置,并重启docker "insecure-registries":["https://hub.sunwin.com"] 在hosts中追加域名配置,高亮部分为当前机器ip echo "192.168.1.134 hub.sunwin....
  • docker镜像仓库——harbor仓库部署 @(k8s) 参考地址 下载地址:https://github.com/goharbor/harbor/releases 下载后解压: [root@k8s-harbor source]# wget ...
  • Harbor仓库离线部署

    2020-11-17 19:40:28
    Harbor仓库离线部署 环境准备 系统: Centos7 1C1G docker docker-compose [root@localhost ~]# docker --version Docker version 19.03.13, build 4484c46d9d [root@localhost ~]# docker-compose --version docker-...
  • Harbor仓库部署安装

    2019-12-11 15:51:05
    Harbor仓库部署安装 操作系统:CentOS 7 IP:192.168.70.146 Harbor版本:1.6.0 安装环境准备 Harbor 的所有服务组件都是在 Docker 中部署的,官方安装使用 docker-compose 快速部署,所以我们需要安装 Docker、...
  • Kubernetes使用Harbor仓库

    千次阅读 2017-04-14 12:47:32
    Kubernetes使用自建Harbor仓库
  • 打包镜像: 先将镜像上传到本地 docker load -i ecs-exchange-operation-web-static...登陆harbor仓库harbor仓库只支持域名访问,不支持ip docker login harbor.ecs.host:1280 -u admin -p 上传仓库: docker push...
  • 在离线手动部署docker镜像仓库——harbor仓库(一)和离线手动部署docker镜像仓库——harbor仓库(二)的实验中,遇到一些harbor仓库部署的问题,在此做个小结。实验环境:harbor服务器系统:CentOS Linux release 7.4....
  • helm3安装harbor仓库

    千次阅读 2020-02-08 14:19:12
    helm 安装 harbor仓库 国内需要换成国内源 helm repo add stable http://mirror.azure.cn/kubernetes/charts 添加harbor源 helm repo add harbor https://helm.goharbor.io helm搜索 $ helm search repo ...
  • harbor仓库一. Harbor资源的下载1.1harbor的安装分为两种模式一种是在线安装另一种是离线安装并且下载需要的docker-compose工具二. 开始安装harbor仓库2.1 docker-compose的安装与查看移动docker-compose工具到bin下...
  • [root@master1 harbor-migration]# yum install -y jq #完整脚本内容 [root@master1 harbor-migration]# pwd /opt/harbor-migration [root@master1 harbor-migration]# cat harbor-migration.sh #!/bin/sh source_...
  • 一键安装Harbor仓库(shell脚本)

    万次阅读 2020-08-01 17:38:24
    一键安装Harbor仓库,支持在线和离线安装 前提是得有docker 和docker-compose环境 下载博主的脚本和安装包比在线下载安装快很多 #!/bin/bash #域名设置 hostname=192.168.56.24 #端口 port=80 #禁止用户注册 self_...
  • harbor仓库空间的清理方法 随着harbor镜像仓库使用时间的变长,harbor的磁盘空间也越来越小,在UI界面进行镜像删除之后并不会释放空间,因为这是软删除,还需要在服务器上使用垃圾回收(gc)功能进行磁盘空间内文件...
  • Docker登录到Harbor仓库时,不管是使用http协议还是使用https协议,都需要修改一些配置. 这篇文章来介绍一下,在使用http协议时,需要进行什么哪些配置. 首先,确定自己的Harbor仓库使用的是http协议,在harbor.cfg文件中...
  • 修改Harbor仓库admin用户

    千次阅读 2019-05-14 18:29:59
    因为这个是默认的harbor仓库用户,会不安全,所以更改掉。 但是找不到配置文件修改,或者其他手段修改这个用户(有大神吗),所以直接操作数据库更改了。 Harbor有2个认证方式:1、db_auth 2、ldap 二,登陆...
  • CentOS7安装harbor仓库

    2020-11-10 16:17:19
    docker的安装就只说CentOS 其他系统安装...下面 搭建harbor仓库 1.安装docker-compose Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。 ...
  • 部署docker的镜像仓库harbor仓库,如果是使用的rancher管理工具,可以直接在rancher的Catalog里面找到harbor仓库服务,填入相关的参数,一键部署即可。但是本次部署的服务器,因为业务限制,不能连外网,不能使用...
  • Kubernetes集群节点能通过【docker login】命令登录Harbor仓库,详细设置步骤参考这篇博文开始配置创建secretkubectl create secret docker-registry secret-name --namespace=default \--docker-server=ht...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,893
精华内容 1,957
关键字:

harbor仓库