日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

docker 推送到本地仓库_Docker_学习笔记系列之仓库

發(fā)布時(shí)間:2025/4/5 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker 推送到本地仓库_Docker_学习笔记系列之仓库 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

docker倉(cāng)庫(kù)分公有和私有之分,本文主要介紹如何搭建私有倉(cāng)庫(kù)

1. 簡(jiǎn)介

Docker倉(cāng)庫(kù),類(lèi)似于yum倉(cāng)庫(kù),是用來(lái)保存鏡像的倉(cāng)庫(kù)。為了方便的管理和使用docker鏡像,可以將鏡像集中保存至Docker倉(cāng)庫(kù)中,將制作好的鏡像push到倉(cāng)庫(kù)集中保存,在需要鏡像時(shí),從倉(cāng)庫(kù)中pull鏡像即可。

Docker 倉(cāng)庫(kù)分為公有云倉(cāng)庫(kù)和私有云倉(cāng)庫(kù)

公有云倉(cāng)庫(kù):由互聯(lián)網(wǎng)公司對(duì)外公開(kāi)的倉(cāng)庫(kù)

  • 官方

  • 阿里云等第三方倉(cāng)庫(kù)

私有云倉(cāng)庫(kù):組織內(nèi)部搭建的倉(cāng)庫(kù),一般只為組織內(nèi)部使用,常使用下面軟件搭建倉(cāng)庫(kù)

  • docker registory

  • docker harbor

2.1 從dockerhub推送/拉取鏡像

1.1 ?注冊(cè)dockerhub創(chuàng)建賬號(hào) :https://hub.docker.com/

# 注意點(diǎn):上傳dockerHub上的鏡像名需滿(mǎn)足:用戶(hù)名/倉(cāng)庫(kù)名:標(biāo)簽# 如:在dockerhub上創(chuàng)建了倉(cāng)庫(kù)learndocker倉(cāng)庫(kù),那么你構(gòu)建的鏡像名就必須帶有addmoney2018/learndocker,后面的標(biāo)簽自定義docker push addmoney2018/learndocker:tagnameYou can push a new image to this repository using the CLIdocker tag local-image:tagname new-repo:tagnamedocker push new-repo:tagnameMake sure to change tagname with your desired image repository tag.

1.2 在本地通過(guò)commit容器保存或者dockerfile構(gòu)建一個(gè)鏡像

1.3 本地登錄dockerHub :docker login,登錄后生成~/.docker/config.json文件保存驗(yàn)證信息

1.4 檢查鏡像名是否符合dockerHub要求的,如不行,修正,再上傳鏡像

docker tag old-image:tagename addmoney2018/learndocker:20201212docker push addmoney2018/learndocker:20201212

1.5 ?從dockerHub上拉取鏡像

docker logindocker pull addmoney2018/learndocker

2. 2 創(chuàng)建組織和團(tuán)隊(duì)賦權(quán)共同管理倉(cāng)庫(kù)

組織類(lèi)似于名稱(chēng)空間,每個(gè)組織的名稱(chēng)全網(wǎng)站唯一,一個(gè)組織可以有多個(gè)用戶(hù)帳戶(hù)使用,并且可以指定不同用戶(hù)對(duì)組織內(nèi)的倉(cāng)庫(kù)不同的權(quán)限

三種不同權(quán)限

  • Read-only:Pull and view repository details and builds

  • Read &Write:Pull, push, and view a repository; view, cancel, retry or trigger builds

  • Admin:Pull, push, view, edit, and delete a repository; edit build settings; update the repository description

2.2.1 創(chuàng)建組織

2.2.2 組織下創(chuàng)建團(tuán)隊(duì)

2.2.3 為團(tuán)隊(duì)下的倉(cāng)庫(kù)配置權(quán)限

2.2.4 ?本地將鏡像上傳到指定的組織

docker login# 先將鏡像名改成:docker.io/組織名/鏡像名:標(biāo)簽docker tag local_images docker.io/beijingdream:v1# 推送docker push docker.io/beijingdream:v1# 其他機(jī)器拉取docker pull docker.io/beijingdream:v1

注:還有一種是用阿里云的倉(cāng)庫(kù),大體邏輯一致,請(qǐng)自行百度學(xué)習(xí)

3. 搭建自己的私有倉(cāng)庫(kù)

  • 私有云單機(jī)倉(cāng)庫(kù)Docker Registry【官方提供】

Docker Registry作為Docker的核心組件之一負(fù)責(zé)鏡像內(nèi)容的存儲(chǔ)與分發(fā),客戶(hù)端的docker pull以及push命令都將直接與registry進(jìn)行交互,go開(kāi)發(fā)后改項(xiàng)目名為Distribution

官方文檔:https://docs.docker.com/registry/

源碼GitHub地址:https://github.com/docker/distribution

官方部署文檔:https://github.com/docker/docker.github.io/blob/master/registry/deploying.md

參考文檔:https://yeasy.gitbook.io/docker_practice/repository/registry

3.1 從dockerHub上拉取docker registry鏡像

docker pull registry:latest

3.2 啟動(dòng)容器運(yùn)行倉(cāng)庫(kù)

docker run -d \-p 5000:5000 \--name my_registry--restart=always \-v /opt/data/registry_dir:/var/lib/registry \ ?registry:latest# 私有倉(cāng)庫(kù)容器里默認(rèn)創(chuàng)建在/var/lib/registry里,通過(guò)映射就將所有的鏡像文件保存到宿主機(jī)對(duì)應(yīng)的目錄里進(jìn)行持久化防止因容器掛了數(shù)據(jù)丟失

3.3 在使用端修改docker配置文件,配置倉(cāng)庫(kù)地址

vim /etc/docker/daemon.json{"data-root" : "/app/lib/docker" , "registry-mirrors": ["192.168.0.100:5000"], ?# 加速的地址"insecure-registries" : ["192.168.0.100:5000"]}# 保存配置,重啟dockersystemctl restart docker# 重新啟動(dòng)registry生成容器

3.4 將本地鏡像推送到私有倉(cāng)庫(kù)

docker tag centos 192.168.0.100:5000/centos:v1docker push 192.168.0.100:5000/centos:v1

3.5 ?查看倉(cāng)庫(kù)情況

官網(wǎng)文檔:https://docs.docker.com/registry/spec/api/#listing-repositories

# 只有api,沒(méi)有可視化界面http://192.168.0.100:5000/v2/_catalog
  • 分布式私有倉(cāng)庫(kù)harbor

Harbor是一個(gè)用于存儲(chǔ)和分發(fā)Docker鏡像的企業(yè)級(jí)Registry服務(wù)器,由vmware開(kāi)源,其通過(guò)添加一些企業(yè)必需的功能特性,例如安全、標(biāo)識(shí)和管理等,擴(kuò)展了開(kāi)源Docker Distribution。Harbor支持安裝在多個(gè)Registry節(jié)點(diǎn)的鏡像資源復(fù)制,鏡像全部保存在私有Registry中。

vmware官方開(kāi)源服務(wù):https://vmware.github.io/

harbor 官方github 地址:https://github.com/vmware/harbor

harbor 官方網(wǎng)址:https://goharbor.io/

harbor官方文檔:https://goharbor.io/docs/

Harbor功能官方介紹

-基于角色的訪問(wèn)控制:用戶(hù)與Docker鏡像倉(cāng)庫(kù)通過(guò)“項(xiàng)目”進(jìn)行組織管理,一個(gè)用戶(hù)可以對(duì)多個(gè)鏡像倉(cāng)庫(kù)在同一命名空間(project)里有不同的權(quán)限

-鏡像復(fù)制:鏡像可在多個(gè)Registry實(shí)例中復(fù)制(同步)。尤其適合于負(fù)載均衡,高可用,混合云和多云的場(chǎng)景

-圖形化用戶(hù)界面:用戶(hù)可以通過(guò)瀏覽器來(lái)瀏覽,檢索當(dāng)前Docker鏡像倉(cāng)庫(kù),管理項(xiàng)目和命名空間

-AD/LDAP 支:Harbor可以集成企業(yè)內(nèi)部已有的AD/LDAP,用于鑒權(quán)認(rèn)證管理

-審計(jì)管理:所有針對(duì)鏡像倉(cāng)庫(kù)的操作都可以被記錄追溯,用于審計(jì)管理

-國(guó)際化:已擁有英文、中文、德文、日文和俄文的本地化版本。更多的語(yǔ)言將會(huì)添加進(jìn)來(lái)

-RESTful API:提供給管理員對(duì)于Harbor更多的操控, 使得與其它管理軟件集成變得更容易

-部署簡(jiǎn)單:提供在線和離線兩種安裝工具, 也可以安裝到vSphere平臺(tái)(OVA方式)虛擬設(shè)備

具體的部署,可自行百度!

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專(zhuān)家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的docker 推送到本地仓库_Docker_学习笔记系列之仓库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。