最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用docker compose安裝harbor私有倉(cāng)庫(kù)的詳細(xì)教程

 更新時(shí)間:2021年06月30日 10:00:55   作者:DomDanrtsey  
harbor鏡像倉(cāng)庫(kù)是由VMware開(kāi)源的一款企業(yè)級(jí)鏡像倉(cāng)庫(kù),它包括權(quán)限管理(RBAC)、LDAP、日志審核、管理界面、自我注冊(cè)、鏡像復(fù)制等諸多功能,本文給大家介紹docker compose安裝harbor的方法,需要的朋友參考下吧

概述

  harbor是什么呢?英文單詞的意思是:港灣。港灣用來(lái)存放集裝箱(貨物的),而docker的由來(lái)正是借鑒了集裝箱的原理,所以harbor是用于存放docker的鏡像,作為鏡像倉(cāng)庫(kù)使用。官方的說(shuō)法是:Harbor是一個(gè)用于存儲(chǔ)和分發(fā)Docker鏡像的企業(yè)級(jí)Registry服務(wù)器。

  harbor鏡像倉(cāng)庫(kù)是由VMware開(kāi)源的一款企業(yè)級(jí)鏡像倉(cāng)庫(kù),它包括權(quán)限管理(RBAC)、LDAP、日志審核、管理界面、自我注冊(cè)、鏡像復(fù)制等諸多功能。

一、harbor特性

1、基于角色的訪問(wèn)控制:用戶和存儲(chǔ)庫(kù)是通過(guò)“項(xiàng)目”組織的,用戶可以對(duì)多個(gè)鏡像倉(cāng)庫(kù)統(tǒng)一命名空間擁有不同的權(quán)限。
2、鏡像復(fù)制:可以基于具有多個(gè)Registry實(shí)例之間復(fù)制(同步)圖像和圖表。如果出現(xiàn)任何錯(cuò)誤,Harbor會(huì)自動(dòng)重試復(fù)制。非常適合于負(fù)載平衡、高可用性、多數(shù)據(jù)中心、混合和多云場(chǎng)景。
3、LDAP/AD支持:Harbor與現(xiàn)有企業(yè)LDAP/AD集成,用于用戶身份驗(yàn)證和管理,并支持將LDAP組導(dǎo)入Harbor并為其分配適當(dāng)?shù)捻?xiàng)目角色。
鏡像刪除和垃圾收集:鏡像可以刪除,其空間可以回收。
4、國(guó)際化:對(duì)多國(guó)語(yǔ)言支持(已擁有中文、英文、德文、日語(yǔ)和俄文);
5、圖形化用戶界面:用戶可以輕松瀏覽、搜索存儲(chǔ)庫(kù)和管理項(xiàng)目。
6、審計(jì)管理:跟蹤到存儲(chǔ)庫(kù)的所有操作。
7、RESTful API:用于大多數(shù)管理操作的RESTful API,易于與外部系統(tǒng)集成。一個(gè)嵌入式的Swagger用戶界面可用于探索和測(cè)試API。
簡(jiǎn)單部署:提供在線和離線安裝程序。此外,可以安裝到vSphere平臺(tái)的(OVA方式)虛擬設(shè)備。

二、Harbor 組件

1、proxy:Harbor的組件,如注冊(cè)表、UI和令牌服務(wù),都位于反向代理之后。代理將來(lái)自瀏覽器和Docker客戶機(jī)的請(qǐng)求轉(zhuǎn)發(fā)到各種后端服務(wù)。
2、Registry:負(fù)責(zé)存儲(chǔ)Docker鏡像和處理Docker推/拉命令。由于Harbor需要對(duì)映像進(jìn)行訪問(wèn)權(quán)限控制,Registry將引導(dǎo)客戶機(jī)訪問(wèn)令牌服務(wù),以便為每個(gè)pull或push請(qǐng)求獲取有效的令牌(token)。
3、Core Service:Harbor的核心功能,主要提供以下服務(wù):
1)UI:提供圖像化的圖形用戶界面,幫助人戶管理鏡像和對(duì)用戶授權(quán)。
2)webhook: 為了及時(shí)獲取registry上images的狀態(tài)變化的情況,在Registry上配置webhook,把狀態(tài)變化傳遞UI模塊;
3)Token令牌服務(wù):負(fù)責(zé)根據(jù)用戶在項(xiàng)目中的角色為每個(gè)docker push/pull命令頒發(fā)令牌。如果從Docker客戶機(jī)發(fā)送的請(qǐng)求中沒(méi)有令牌,注冊(cè)表將把請(qǐng)求重定向到令牌服務(wù)。
4、Datebase:為了給core services提供數(shù)據(jù)庫(kù)舒服,負(fù)責(zé)儲(chǔ)存用戶權(quán)限、審計(jì)日志、Docker image分組信息等數(shù)據(jù)。
5、Job Services:提供鏡像遠(yuǎn)程負(fù)責(zé)功能,能把本地鏡像同步到其他harbor實(shí)例當(dāng)中。
6、Log Collector:為了幫助監(jiān)控Harbor運(yùn)行,負(fù)責(zé)手機(jī)其他組件的log,供日后分析。

在這里插入圖片描述

三、部署環(huán)境

centos-7.6   192.168.8.130
Docker version 1.19.3
docker-compose version 1.24.2
harbor-offline-installer-v1.8.6.tgz

四、安裝docker-compose

方式1:
[root@centos130 ~]# curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
[root@centos130 ~]# chmod +x /usr/local/bin/docker-compose
方式2:
[root@centos130 ~]# wget https://bootstrap.pypa.io/get-pip.py
[root@centos130 ~]# python get-pip.py
[root@centos130 ~]# pip install docker-compose

五、卸載docker-compose

#二進(jìn)制:
[root@centos130 ~]rm  /usr/local/bin/docker-compose
#pip:
[root@centos130 ~]pip uninstall  docker-compose

六、安裝docker

[root@centos130 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
添加一個(gè)穩(wěn)定的源
[root@centos130 ~]# yum-config-manager --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@centos130 ~]# yum makecache fast
安裝最新穩(wěn)定版本的docker-ce
[root@centos130 ~]# yum install -y docker-ce docker-ce-cli containerd.io vim
[root@centos130 ~]# mkdir /etc/docker && vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://yxrgrke0.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.8.130:5000"],
  "insecure-registries": ["centos130:80"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
    }
}
啟動(dòng)docker
[root@centos130 ~]# systemctl daemon-reload
[root@centos130 ~]# systemctl enable docker && systemctl start docker
[root@centos130 ~]# systemctl status docker

七、安裝harbor

harbor下載地址:
harbor github 地址 https://github.com/goharbor/harbor
http://harbor.orientsoft.cn/
[root@centos130 ~]# wget https://storage.googleapis.com/harbor-releases/release-1.8.6/harbor-offline-installer-v1.8.6.tgz
[root@centos130 ~]# tar -xf harbor-offline-installer-v1.8.6.tgz -C /usr/local/
[root@centos130 ~]# cd /usr/local/harbor/
[root@centos130 ~]# vim harbor.yml
hostname = centos130
#這里只是簡(jiǎn)單的測(cè)試,所以只編輯這一行,其他的默認(rèn)不做修改
#禁止用戶注冊(cè)
self_registration = off
#設(shè)置只有管理員可以創(chuàng)建項(xiàng)目
project_creation_restriction = adminonly

八、執(zhí)行安裝腳本

[root@centos130 ~]# ./instsll.sh  
說(shuō)明:安裝報(bào)錯(cuò) 找不到docker-proxy 、 docker-runc
執(zhí)行
[root@centos130 ~]# ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc
[root@centos130 ~]# ln -s /usr/libexec/docker/docker-proxy-current /usr/bin/docker-proxy
查看啟動(dòng)的鏡像文件
[root@centos130 ~]# docker-compose ps
Harbor容器的stop與start:
[root@centos130 ~]# cd /usr/local/harbor/
[root@centos130 ~]# docker-compose stop
[root@centos130 ~]# docker-compose start

九、登錄harbor

到此便安裝完成了,直接打開(kāi)瀏覽器登陸,并創(chuàng)建my項(xiàng)目:
默認(rèn)用戶密碼是:admin/Harbor12345

在這里插入圖片描述

Shell命令行終端登錄harbor倉(cāng)庫(kù)

[root@centos130 ~]# harbor上傳鏡像
[root@centos130 ~]# docker login centos130:80
[root@centos130 ~]# docker login -u admin -p Harbor12345 centos130:80  #賬號(hào)密碼: admin/Harbor12345
Username: admin
Password: 
Login Succeeded

測(cè)試鏡像上傳

[root@centos130 ~]# docker pull nginx
[root@centos130 ~]# docker tag nginx:latest centos130:80/my/nginx:latest
[root@centos130 ~]# docker images
[root@centos130 ~]# docker push centos130:80/my/nginx:latest
The push refers to repository [centos130:80/my/nginx]
55a77731ed26: Pushed 
71f2244bc14d: Pushed 
f2cb0ecef392: Pushed 
latest: digest: sha256:3936fb3946790d711a68c58be93628e43cbca72439079e16d154b5db216b58da size: 948

說(shuō)明: 格式為: userip/項(xiàng)目名/image名字:版本號(hào)   (項(xiàng)目名需要在webui 提前建好)
[root@centos130 ~]# docker images
REPOSITORY                       TAG                        IMAGE ID            CREATED             SIZE
centos130:80/my/nginx:latest     latest                     5a3221f0137b        5 days ago          126MB
nginx                            latest                     5a3221f0137b        5 days ago          126MB
刪除本地nginx鏡像,測(cè)試下載
[root@centos130 ~]# docker pull centos130:80/my/nginx:latest

十、harbor修改端口號(hào)

1、修改docker-compose.yml文件映射為1180端口:

修改配置文件
[root@centos130 ~]# cat /usr/local/harbor/docker-compose.yml

version: '2.3'
services:
  log:
    image: goharbor/harbor-log:v1.8.6
    container_name: harbor-log
    restart: always
    dns_search: .
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - DAC_OVERRIDE
      - SETGID
      - SETUID
    volumes:
      - /var/log/harbor/:/var/log/docker/:z
      - ./common/config/log/:/etc/logrotate.d/:z
    ports:
      - 127.0.0.1:1514:10514
    networks:
      - harbor
  registry:
    image: goharbor/registry-photon:v2.7.1-patch-2819-v1.8.6
    container_name: registry
    restart: always
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETGID
      - SETUID
    volumes:
      - /data/registry:/storage:z
      - ./common/config/registry/:/etc/registry/:z
      - type: bind
        source: /data/secret/registry/root.crt
        target: /etc/registry/root.crt
    networks:
      - harbor
    dns_search: .
    depends_on:
      - log
    logging:
      driver: "syslog"
      options:  
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "registry"
  registryctl:
    image: goharbor/harbor-registryctl:v1.8.6
    container_name: registryctl
    env_file:
      - ./common/config/registryctl/env
    restart: always
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETGID
      - SETUID
    volumes:
      - /data/registry:/storage:z
      - ./common/config/registry/:/etc/registry/:z
      - type: bind
        source: ./common/config/registryctl/config.yml
        target: /etc/registryctl/config.yml
    networks:
      - harbor
    dns_search: .
    depends_on:
      - log
    logging:
      driver: "syslog"
      options:  
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "registryctl"
  postgresql:
    image: goharbor/harbor-db:v1.8.6
    container_name: harbor-db
    restart: always
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - DAC_OVERRIDE
      - SETGID
      - SETUID
    volumes:
      - /data/database:/var/lib/postgresql/data:z
    networks:
      harbor:
    dns_search: .
    env_file:
      - ./common/config/db/env
    depends_on:
      - log
    logging:
      driver: "syslog"
      options:  
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "postgresql"
  core:
    image: goharbor/harbor-core:v1.8.6
    container_name: harbor-core
    env_file:
      - ./common/config/core/env
    restart: always
    cap_drop:
      - ALL
    cap_add:
      - SETGID
      - SETUID
    volumes:
      - /data/ca_download/:/etc/core/ca/:z
      - /data/psc/:/etc/core/token/:z
      - /data/:/data/:z
      - ./common/config/core/certificates/:/etc/core/certificates/:z
      - type: bind
        source: ./common/config/core/app.conf
        target: /etc/core/app.conf
      - type: bind
        source: /data/secret/core/private_key.pem
        target: /etc/core/private_key.pem
      - type: bind
        source: /data/secret/keys/secretkey
        target: /etc/core/key
    networks:
      harbor:
    dns_search: .
    depends_on:
      - log
      - registry
    logging:
      driver: "syslog"
      options:  
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "core"
  portal:
    image: goharbor/harbor-portal:v1.8.6
    container_name: harbor-portal
    restart: always
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETGID
      - SETUID
      - NET_BIND_SERVICE
    networks:
      - harbor
    dns_search: .
    depends_on:
      - log
      - core
    logging:
      driver: "syslog"
      options:
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "portal"

  jobservice:
    image: goharbor/harbor-jobservice:v1.8.6
    container_name: harbor-jobservice
    env_file:
      - ./common/config/jobservice/env
    restart: always
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETGID
      - SETUID
    volumes:
      - /data/job_logs:/var/log/jobs:z
      - type: bind
        source: ./common/config/jobservice/config.yml
        target: /etc/jobservice/config.yml
    networks:
      - harbor
    dns_search: .
    depends_on:
      - redis
      - core
    logging:
      driver: "syslog"
      options:
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "jobservice"
  redis:
    image: goharbor/redis-photon:v1.8.6
    container_name: redis
    restart: always
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETGID
      - SETUID
    volumes:
      - /data/redis:/var/lib/redis
    networks:
      harbor:
    dns_search: .
    depends_on:
      - log
    logging:
      driver: "syslog"
      options:
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "redis"
  proxy:
    image: goharbor/nginx-photon:v1.8.6
    container_name: nginx
    restart: always
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETGID
      - SETUID
      - NET_BIND_SERVICE
    volumes:
      - ./common/config/nginx:/etc/nginx:z
    networks:
      - harbor
    dns_search: .
    ports:
      - 1180:80
      - 443:443
      - 4443:4443
    depends_on:
      - postgresql
      - registry
      - core
      - portal
      - log
    logging:
      driver: "syslog"
      options:  
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "proxy"
networks:
  harbor:
    external: false

2、修改/etc/docker/daemon.json文件將80修改為1180端口:

修改daemon配置
[root@centos130 ~]# cat /etc/docker/daemon.json 

{
  "registry-mirrors": ["https://yxrgrke0.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.8.130:5000"],
  "insecure-registries": ["centos130:1180"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
    }
}

3、修改/usr/locat/harbor/harbor.yml文件的hostname

修改hostname配置
cat /usr/locat/harbor/harbor.yml
hostname: centos130:1180

4、停止harbor,重新啟動(dòng)并生成配置文件

重新初始化
[root@centos130 ~]# cd /usr/locat/harbor/
[root@centos130 ~]# docker-compose stop
[root@centos130 ~]# ./install.sh

5、重新啟動(dòng)docker

[root@centos130 ~]# systemctl daemon-reload
[root@centos130 ~]# systemctl restart docker.service
驗(yàn)證
[root@centos130 ~]# docker login centos130:1180
Username: admin
Password: Harbor12345

到此這篇關(guān)于使用docker-compose安裝harbor的文章就介紹到這了,更多相關(guān)docker compose安裝harbor內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Docker容器可視化監(jiān)控中心搭建

    詳解Docker容器可視化監(jiān)控中心搭建

    本篇文章主要介紹了詳解Docker容器可視化監(jiān)控中心搭建,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • docker上部署MySQL的示例

    docker上部署MySQL的示例

    這篇文章主要介紹了docker上部署MySQL的示例,幫助大家更好的理解和學(xué)習(xí)使用docker,感興趣的朋友可以了解下
    2021-04-04
  • Docker設(shè)置日志滾動(dòng)的解決方案

    Docker設(shè)置日志滾動(dòng)的解決方案

    Docker容器默認(rèn)將日志寫(xiě)入同一文件,可能導(dǎo)致磁盤(pán)滿,解決方案包括修改全局docker.service配置或針對(duì)特定容器修改hostconfig.json,下面給大家介紹Docker設(shè)置日志滾動(dòng)的解決方案,感興趣的朋友跟隨小編一起看看吧
    2024-10-10
  • 基于Docker版本squid搭建代理服務(wù)器的過(guò)程詳解

    基于Docker版本squid搭建代理服務(wù)器的過(guò)程詳解

    這篇文章主要介紹了基于Docker版本squid搭建代理服務(wù)器的配置方法,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下本文給大家介紹的非常詳細(xì)
    2024-03-03
  • Docker?搭建?RabbitMQ的詳細(xì)過(guò)程

    Docker?搭建?RabbitMQ的詳細(xì)過(guò)程

    在現(xiàn)代微服務(wù)與分布式架構(gòu)中,RabbitMQ?是一款成熟的開(kāi)源消息隊(duì)列中間件,提供了可靠的消息投遞、豐富的路由策略和管理插件,本文將詳細(xì)介紹Docker?搭建?RabbitMQ的過(guò)程,感興趣的朋友一起看看吧
    2025-04-04
  • 編寫(xiě)最佳的Dockerfile的方法

    編寫(xiě)最佳的Dockerfile的方法

    本文給大家分享的是如何編寫(xiě)最佳的dockerfile的方法,通過(guò)具體實(shí)例幫助大家快速掌握編寫(xiě)Dockerfile的技巧
    2017-06-06
  • docker如何給已存在的容器添加或修改端口映射

    docker如何給已存在的容器添加或修改端口映射

    這篇文章主要介紹了docker如何給已存在的容器添加或修改端口映射問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 解讀docker運(yùn)行時(shí)-itd參數(shù)是什么意思

    解讀docker運(yùn)行時(shí)-itd參數(shù)是什么意思

    在Docker中,-itd參數(shù)組合用于在后臺(tái)運(yùn)行一個(gè)交互式容器,同時(shí)保持標(biāo)準(zhǔn)輸入和分配偽終端,這種方式適合需要在后臺(tái)運(yùn)行容器并保持交互能力的場(chǎng)景
    2025-03-03
  • Docker安裝配置Oracle詳細(xì)步驟記錄(以作持久化處理)

    Docker安裝配置Oracle詳細(xì)步驟記錄(以作持久化處理)

    docker是一個(gè)用Go語(yǔ)言實(shí)現(xiàn)的開(kāi)源項(xiàng)目,可以讓我們方便的創(chuàng)建和使用容器,下面這篇文章主要給大家介紹了關(guān)于Docker安裝配置Oracle詳細(xì)步驟的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • 使用docker快速搭建Spark集群的方法教程

    使用docker快速搭建Spark集群的方法教程

    通過(guò)使用 Docker,可以快速的在本地搭建一套 Spark 環(huán)境,方便大家開(kāi)發(fā) Spark 應(yīng)用,或者擴(kuò)展到生產(chǎn)環(huán)境。下面這篇文章主要給大家介紹了使用docker快速搭建Spark集群的方法教程,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-06-06

最新評(píng)論

花垣县| 韩城市| 溧水县| 绥德县| 南昌县| 竹溪县| 乌拉特后旗| 武鸣县| 罗田县| 普洱| 金坛市| 株洲县| 岳普湖县| 从化市| 托里县| 岚皋县| 清新县| 陆丰市| 岫岩| 英吉沙县| 班玛县| 许昌县| 文化| 虎林市| 新蔡县| 新平| 社旗县| 光泽县| 丰都县| 黔东| 苍溪县| 芦溪县| 喜德县| 郯城县| 东光县| 杨浦区| 辉南县| 洱源县| 桑日县| 友谊县| 汶川县|