真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Docker私有倉庫的搭建方法

這篇文章主要講解了“Docker私有倉庫的搭建方法”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Docker私有倉庫的搭建方法”吧!

十多年的岳陽樓網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整岳陽樓建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“岳陽樓網(wǎng)站設(shè)計(jì)”,“岳陽樓網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

一、簡(jiǎn)介

在 Docker 中,當(dāng)我們執(zhí)行 docker pull xxx 的時(shí)候 ,它實(shí)際上是從 registry.hub.docker.com 這個(gè)地址去查找,這就是Docker公司為我們提供的公共倉庫。在工作中,我們不可能把企業(yè)項(xiàng)目push到公有倉庫進(jìn)行管理。所以為了更好的管理鏡像,Docker不僅提供了一個(gè)中央倉庫,同時(shí)也允許我們搭建本地私有倉庫。這一篇介紹registry、harbor兩種私有倉庫搭建。

二、registry 的搭建

1. 搭建

Docker 官方提供了一個(gè)搭建私有倉庫的鏡像 registry,只需把鏡像下載下來,運(yùn)行容器并暴露5000端口,就可以使用了。

docker pull registry:2
docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2

Registry服務(wù)默認(rèn)會(huì)將上傳的鏡像保存在容器的/var/lib/registry,我們將主機(jī)的/opt/registry目錄掛載到該目錄,即可實(shí)現(xiàn)將鏡像保存到主機(jī)的/opt/registry目錄了。

瀏覽器訪問http://127.0.0.1:5000/v2,出現(xiàn)下面情況說明registry運(yùn)行正常。

Docker私有倉庫的搭建方法

2. 驗(yàn)證

現(xiàn)在通過push鏡像到registry來驗(yàn)證一下。

查看本地鏡像:

$ docker images
REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
nginx                                                  latest              568c4670fa80        5 weeks ago         109MB
ubuntu                                                 latest              93fd78260bd1        7 weeks ago         86.2MB
elasticsearch                                          6.5.1               32f93c89076d        7 weeks ago         773MB

要通過docker tag將該鏡像標(biāo)志為要推送到私有倉庫:

docker tag nginx:latest localhost:5000/nginx:latest

通過 docker push 命令將 nginx 鏡像 push到私有倉庫中:

docker push localhost:5000/nginx:latest

訪問 http://127.0.0.1:5000/v2/_catalog 查看私有倉庫目錄,可以看到剛上傳的鏡像了:

Docker私有倉庫的搭建方法

下載私有倉庫的鏡像,使用如下命令:

docker pull localhost:5000/鏡像名:版本號(hào)
例如
docker pull localhost:5000/nginx:latest

二、harbor 的搭建

docker 官方提供的私有倉庫 registry,用起來雖然簡(jiǎn)單 ,但在管理的功能上存在不足。 Harbor是一個(gè)用于存儲(chǔ)和分發(fā)Docker鏡像的企業(yè)級(jí)Registry服務(wù)器,harbor使用的是官方的docker registry(v2命名是distribution)服務(wù)去完成。harbor在docker distribution的基礎(chǔ)上增加了一些安全、訪問控制、管理的功能以滿足企業(yè)對(duì)于鏡像倉庫的需求。

1.搭建

下載

地址:https://github.com/goharbor/harbor/releases  本文是有 v1.2.2

配置

解壓下載的安裝包 harbor-offline-installer-v1.2.2.tgz

tar -xvf harbor-offline-installer-v1.2.2.tgz

修改 harbor.cfg

#hostname 改為本地ip,非 Mac OS系統(tǒng) 可以不指定端口
hostname = 192.168.31.143:9090
#設(shè)置secretkey_path 的路徑為 當(dāng)前目錄的data下
secretkey_path = ./data

需要注意的是,非 Mac 用戶只需要 修改 harbor.cfg 中的 hostname ,就可以直接通過./install.sh 就可以構(gòu)建鏡像,并把服務(wù)啟動(dòng)起來。不需要 secretkey_path 和 下面 docker-compose.yml 的修改

修改 docker-compose.yml

因?yàn)閔arbor使用了很多目錄掛載,Mac有很多目錄是不允許掛載的,所以如果是Mac用戶,需要修改docker-compose.yml 中的掛載目錄,修改后的 docker-compose.yml 如下:

version: '2'
services:
  log:
    image: vmware/harbor-log:v1.2.2
    container_name: harbor-log 
    restart: always
    volumes:
      - ./log/:/var/log/docker/:z
    ports:
      - 127.0.0.1:1514:514
    networks:
      - harbor
  registry:
    image: vmware/registry:2.6.2-photon
    container_name: registry
    restart: always
    volumes:
      - ./data/registry:/storage:z
      - ./common/config/registry/:/etc/registry/:z
    networks:
      - harbor
    environment:
      - GODEBUG=netDNS=cgo
    command:
      ["serve", "/etc/registry/config.yml"]
    depends_on:
      - log
    logging:
      driver: "syslog"
      options:  
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "registry"
  MySQL:
    image: vmware/harbor-db:v1.2.2
    container_name: harbor-db
    restart: always
    volumes:
      - ./data/database:/var/lib/mysql:z
    networks:
      - harbor
    env_file:
      - ./common/config/db/env
    depends_on:
      - log
    logging:
      driver: "syslog"
      options:  
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "mysql"
  adminserver:
    image: vmware/harbor-adminserver:v1.2.2
    container_name: harbor-adminserver
    env_file:
      - ./common/config/adminserver/env
    restart: always
    volumes:
      - ./data/config/:/etc/adminserver/config/:z
      - ./data/secretkey:/etc/adminserver/key:z
      - ./data/:/data/:z
    networks:
      - harbor
    depends_on:
      - log
    logging:
      driver: "syslog"
      options:  
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "adminserver"
  ui:
    image: vmware/harbor-ui:v1.2.2
    container_name: harbor-ui
    env_file:
      - ./common/config/ui/env
    restart: always
    volumes:
      - ./common/config/ui/app.conf:/etc/ui/app.conf:z
      - ./common/config/ui/private_key.pem:/etc/ui/private_key.pem:z
      - ./data/secretkey:/etc/ui/key:z
      - ./data/ca_download/:/etc/ui/ca/:z
      - ./data/psc/:/etc/ui/token/:z
    networks:
      - harbor
    depends_on:
      - log
      - adminserver
      - registry
    logging:
      driver: "syslog"
      options:  
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "ui"
  jobservice:
    image: vmware/harbor-jobservice:v1.2.2
    container_name: harbor-jobservice
    env_file:
      - ./common/config/jobservice/env
    restart: always
    volumes:
      - ./data/job_logs:/var/log/jobs:z
      - ./common/config/jobservice/app.conf:/etc/jobservice/app.conf:z
      - ./data/secretkey:/etc/jobservice/key:z
    networks:
      - harbor
    depends_on:
      - ui
      - adminserver
    logging:
      driver: "syslog"
      options:  
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "jobservice"
  proxy:
    image: vmware/nginx-photon:1.11.13
    container_name: nginx
    restart: always
    volumes:
      - ./common/config/nginx:/etc/nginx:z
    networks:
      - harbor
    ports:
      - 9090:80
      - 443:443
      - 4443:4443
    depends_on:
      - mysql
      - registry
      - ui
      - log
    logging:
      driver: "syslog"
      options:  
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "proxy"
networks:
  harbor:
    external: false

通過運(yùn)行 install.sh 構(gòu)建鏡像,并把服務(wù)啟動(dòng)起來:

./install.sh

2. 使用

訪問 http://127.0.0.1:9090/ 如下:

Docker私有倉庫的搭建方法

默認(rèn) admin 用戶的密碼為 Harbor12345 ,可以在 harbor.cfg 進(jìn)行修改。登錄后如下:

Docker私有倉庫的搭建方法

圖中的項(xiàng)目是之前上傳的 ,新部署的 Harbor 登錄后項(xiàng)目下是空的。

可以創(chuàng)建項(xiàng)目,創(chuàng)建用戶,給項(xiàng)目分配用戶等等,操作都很簡(jiǎn)單 。

###3. 上傳鏡像
首先登錄私有倉庫,可以使用 admin 用戶 ,也可以使用我們自己創(chuàng)建的具有上傳權(quán)限的用戶:

docker login -u admin -p Harbor12345 127.0.0.1:9090

要通過docker tag將該鏡像標(biāo)志為要推送到私有倉庫,例如:

docker tag nginx:latest 127.0.0.1:9090/library/nginx:latest

上傳鏡像:

docker push 127.0.0.1:9090/library/nginx:latest

訪問 http://127.0.0.1:9090/harbor/projects ,在 library 項(xiàng)目下可以看見剛上傳的 nginx鏡像了:

Docker私有倉庫的搭建方法

感謝各位的閱讀,以上就是“Docker私有倉庫的搭建方法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Docker私有倉庫的搭建方法這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


網(wǎng)站題目:Docker私有倉庫的搭建方法
分享網(wǎng)址:http://weahome.cn/article/gegpjp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部