摘要:在上一篇構(gòu)建出鏡像后,我們可以部署一個(gè)私有鏡像倉庫用來存放我們的鏡像。執(zhí)行命令成功后使用能看到服務(wù)已經(jīng)啟動(dòng)上傳鏡像要上傳鏡像到私有倉庫,需要在鏡像的上加入倉庫地址為了不與其他鏡像沖突,可以加入命名空間如,另外最好給鏡像打上如。
鏡像可以很方便直接 push 到 docker 的公共倉庫,就好像 github 一樣,但是我們?cè)陂_發(fā)中很多時(shí)候都不想公開鏡像文件,這時(shí)就需要搭建 docker 的私有倉庫,就好像 gitlab 一樣。
在 上一篇 構(gòu)建出鏡像后,我們可以部署一個(gè)私有鏡像倉庫用來存放我們的鏡像。
啟動(dòng)私有 Registry啟動(dòng)一個(gè)私有倉庫也非常簡(jiǎn)單,在服務(wù)器上執(zhí)行命令
docker run -d -p 5000:5000 --name="docker-registry" --restart=always -v /root/docker/registry/:/var/lib/registry/ registry
即后臺(tái)啟動(dòng) registry 鏡像構(gòu)建出來的容器,并命名為 docker-registry,端口號(hào)映射為 5000 到 5000。
--restart=always 代表當(dāng)容器因?yàn)槟承┰蛲V箷r(shí),不管退出碼是什么都自動(dòng)重啟。除了 always 還有 on-failure 代表只有退出碼不為 0 時(shí)才重啟,并且接受重啟次數(shù)參數(shù):--restart=on-failture:5
-v 指定將宿主機(jī)的 /root/docker/registry/ 目錄掛載到容器的 /var/lib/registry/ 目錄。這樣我們不用進(jìn)入容器,在宿主機(jī)上就能訪問到容器內(nèi)我們感興趣的目錄了。
為什么是 /var/lib/registry/ 目錄?
倉庫默認(rèn)存放鏡像等信息在容器的 /var/lib/registry/docker 目錄下,可以進(jìn)入該目錄查看已上傳鏡像信息。
執(zhí)行 run 命令成功后使用 docker ps 能看到 registry 服務(wù)已經(jīng)啟動(dòng):
上傳鏡像要上傳鏡像到私有倉庫,需要在鏡像的 tag 上加入倉庫地址:
docker tag express-app 111.111.111.111:5000/sunhengzhe/express-app:v1
為了不與其他鏡像沖突,可以加入命名空間如 sunhengzhe,另外最好給鏡像打上 tag 如 v1。
注意倉庫地址沒有加協(xié)議部分,docker 默認(rèn)的安全策略需要倉庫是支持 https 的,如果服務(wù)器只能使用 http 傳輸,那么直接上傳會(huì)失敗,需要在 docker 客戶端的配置文件中進(jìn)行聲明。
mac 配置更改完需要 Apply & Restart
centos 系統(tǒng)在 /etc/docker/daemon.json 文件中寫入:
{ "registry-mirror": [ "https://registry.docker-cn.com" ], "insecure-registries": [ "[私有倉庫 ip:port]" ] }
然后重啟 docker
systemctl restart docker推送鏡像
打完 tag 后使用 push 命令推送即可:
docker push 111.111.111.111:5000/sunhengzhe/express-app:v1推送失敗
如果出現(xiàn) Retrying in 5 seconds 然后上傳失敗的問題??梢允紫仍诜?wù)器上使用 logs 命令查看日志:
docker logs -f docker-registry
-f 代表持續(xù)輸出文件內(nèi)容。
如果出現(xiàn) filesystem: mkdir /var/lib/registry/docker: permission denied,可能是 一個(gè) selinux 問題,需要在服務(wù)器上對(duì)掛載目錄進(jìn)行處理:
chcon -Rt svirt_sandbox_file_t /root/docker/registry/
此示例中即 /root/docker/registry/。
拉取鏡像使用 pull 命令即可
docker pull 111.111.111.111:5000/sunhengzhe/express-app:v1
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/28055.html
摘要:目前官方已開始推薦使用替代之前的做為基礎(chǔ)鏡像環(huán)境。包括鏡像下載速度加快,鏡像安全性提高,主機(jī)之間的切換更方便,占用更少磁盤空間等。 有了前幾篇的基礎(chǔ)后,我們現(xiàn)在已經(jīng)能 docker 篇: 構(gòu)建 docker 鏡像 上傳私有倉庫 拉取私有鏡像 啟動(dòng)容器 jenkins 篇: 配置 pipeline 觸發(fā) pipeline 接下來就可以結(jié)合兩者,用 jenkins + docker...
摘要:檢查下是否已經(jīng)被創(chuàng)建最后,運(yùn)行我們?cè)囈幌率欠窨梢缘顷懡酉聛砦覀冊(cè)囅率欠窨梢韵螺d標(biāo)記上傳容器鏡像至我們的新鏡像倉庫。幾分鐘之后,的私有鏡像倉庫就可以使用了。 上篇文檔中,我已經(jīng)詳細(xì)介紹了如何快速簡(jiǎn)單的部署Rancher Server,啟用Github認(rèn)證以及數(shù)據(jù)保持方便后續(xù)的升級(jí)操作。在這篇文檔中,我將梳理下如何創(chuàng)建一個(gè)有密碼保護(hù)的私有Docker Registry以及如何和Ranche...
摘要:原文地址零基礎(chǔ)入門指南五倉庫是集中存放鏡像的地方。最常使用的公開服務(wù)是官方的,這也是默認(rèn)的,并擁有大量的高質(zhì)量的官方鏡像。登錄可以通過執(zhí)行命令交互式的輸入用戶名及密碼來完成在命令行界面登錄。使用將這個(gè)鏡像標(biāo)記為。 原文地址:Docker零基礎(chǔ)入門指南(五) 倉庫( Repository )是集中存放鏡像的地方。一個(gè)容易混淆的概念是注冊(cè)服務(wù)器( Registry )。實(shí)際上注冊(cè)服務(wù)器是管...
摘要:與業(yè)務(wù)相關(guān)的鏡像可以使用私有的,提高安全性。其后端存儲(chǔ)方案有兩個(gè)。能不能使用國(guó)內(nèi)存儲(chǔ)服務(wù)如新浪云存儲(chǔ),做一個(gè)私有呢在進(jìn)一步了解的過程中,筆者了解到實(shí)際上服務(wù)本身提供機(jī)制,可以整合更多的存儲(chǔ)服務(wù)整合。 最近使用Docker的同學(xué)越來越多。 使用Docker的時(shí)候需要了解Registry服務(wù) - 即鏡像存儲(chǔ)服務(wù)。 Registry是一個(gè)管理Docker鏡像的服務(wù),當(dāng)使用Docker的P...
摘要:清除所有處于終止?fàn)顟B(tài)的容器訪問倉庫倉庫是集中存放鏡像的地方。倉庫可以看成是一個(gè)具體的項(xiàng)目或目錄。是注冊(cè)服務(wù)器地址,是倉庫名。生成認(rèn)證文件編輯修改編輯啟動(dòng)測(cè)試私有倉庫功能登錄到私有倉庫嘗試推送拉取鏡像端口若被占用請(qǐng)嘗試用代理 docker save load 與 docker export import 利用ssh pv Linux管道 實(shí)現(xiàn)鏡像遷移(帶進(jìn)度條) docker save ...
閱讀 4307·2021-09-24 09:47
閱讀 1187·2021-09-03 10:33
閱讀 2068·2019-08-30 11:13
閱讀 1034·2019-08-30 10:49
閱讀 1756·2019-08-29 16:13
閱讀 2049·2019-08-29 11:28
閱讀 3096·2019-08-26 13:31
閱讀 3636·2019-08-23 17:14