-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
自定義docker鏡像庫(自建docker鏡像庫)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于自定義docker鏡像庫的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、在群暉的 Docker 中自定義配置 Redis
搞了半天,最后終于成功了,特此記錄一下!
在本地,新建一個(gè) redis.conf 文件, 只添加一些必要的屬性,其它任何非相關(guān)屬性都刪除,整個(gè) redis.conf 文件就三句話 ,比如:
將該文件上傳到 NAS 任意目錄下,如下圖所示:
然后,打開 Docker,通過鏡像創(chuàng)建容器,如下圖所示:
在高級(jí)設(shè)置里面,重點(diǎn)是 卷 和 環(huán)境 。
根據(jù) Redis 官方說明,將容器內(nèi)的這兩個(gè) 裝載路徑 指向宿主的某個(gè)文件夾,即可,如下圖所示:
配置好 卷 后,就可以到 環(huán)境 中去配置,其實(shí)沒啥配置,主要就是在 命令 中修改一下執(zhí)行的語句即可,如下圖所示:
其實(shí)就是添加啟動(dòng)時(shí)需要加載的配置文件即可(默認(rèn)是沒有添加任何參數(shù)的)。
至此,配置就全部完畢了,點(diǎn)應(yīng)用后,就可以啟動(dòng)了。
如果要修改端口之類的,在 高級(jí)設(shè)置 中,自行修改就 OK 了。
附上 Redis 官方說明: https://hub.docker.com/r/_/redis/
二、docker鏡像為什么有自己的ip
docker鏡像有自己的ip的原因是docker屬于容器。根據(jù)查詢相關(guān)信息資料,docker容器可以分配并指定ip,尤其是搭建集群時(shí),可以防止容器ip混亂,在啟動(dòng)docker容器的時(shí)候,使用默認(rèn)網(wǎng)絡(luò)是不支持指派固定ip的,因此要?jiǎng)?chuàng)建自定義網(wǎng)絡(luò),設(shè)置固定ip。
三、CICD搭建之 docker私服搭建
在開發(fā)中搭建cicd時(shí)docker私服是必不可少的,這里記錄一下筆者的私服搭建過程
版本及說明
registry是docker的私服
docker pull registry:2.7.1
docker的私服ui
docker pull konradkleine/docker-registry-frontend:v2
瀏覽器訪問ip+7500/v2,如下圖訪問正常
下面要通過registry-ui訪問私服,啟動(dòng)腳本需要配置registry的pod的ip和端口,先查看一下registry在docker中的ip,用容器id,命令如下
查詢后得到registry的ip為172.17.0.2,根據(jù)前的registry啟動(dòng)腳本可以看到私服在docker中的端口為5000,因此啟動(dòng)命令如下
私服ui啟動(dòng)完畢,用瀏覽器訪問ip+9080
現(xiàn)在我們上傳一個(gè)鏡像到私服上看看,先拉取一個(gè)用來測試的鏡像(不指定tag默認(rèn)是latest)
修改鏡像的名(這里我們的私服是啟動(dòng)在本機(jī)上的,映射到宿主機(jī)的端口是7500,所以命名為localhost:7500/redis,tag省略了默認(rèn)latest)
推送到私服
推送成功,訪問一下,如圖
不部署registry-ui也是可以的,通過registry的http接口訪問,registry-ui只是套了一層皮膚,通過web瀏覽方便些
先刪除本地docker中的鏡像
刪除后可以驗(yàn)證一下本地是否已經(jīng)刪除,命令如下
拉取私服localhost:7500上的鏡像
拉取成功
docker私服都是獨(dú)立的,只要地址不同就不會(huì)沖突,我們可以驗(yàn)證一下,再啟一個(gè)registry,然后推送一個(gè)鏡像(要注意我們是同一臺(tái)宿主機(jī),因此宿主機(jī)的端口和docker中的name需要修改一下,跟前一個(gè)registry不能沖突)
到目前為止,我們上傳的到私服的鏡像都是在registry的容器中,容器重啟鏡像就全沒了,所以我們得把數(shù)據(jù)持久化到宿主機(jī)的磁盤上。
網(wǎng)上有些資料通過設(shè)置環(huán)境變量或者配置文件來實(shí)現(xiàn)持久化,嘗試了幾種都沒有成功,簡單例舉幾個(gè)
根據(jù)圖中信息,可以看出registry的配置文件路徑是"/etc/docker/registry/config.yml",registry中存儲(chǔ)鏡像的路徑是/var/lib/registry。
于是,我們有2種解決辦法
1.通過cmd命令讓registry讀取自定義的配置文件
2.將鏡像存儲(chǔ)路徑映射到宿主機(jī)磁盤
我們先來嘗試第一種,為了大家不走彎路,我直接將鏡像中配置文件原樣copy出來,只修改鏡像存儲(chǔ)路徑將 /var/lib/registry修改為/opt/docker-image。
通過以下命令,進(jìn)入registry的容器,然后查看配置文件
修改后的配置文件
將文件保存到提前建好的宿主機(jī)的目錄下
/home/wxd/cicd/registry/registry-config/config.yml
準(zhǔn)備用來存儲(chǔ)鏡像的目錄
/home/wxd/cicd/registry/docker-image
啟動(dòng)腳本
啟動(dòng)后用剛才的命令push一個(gè)鏡像
docker push localhost:7501/redis
執(zhí)行完畢后,看看宿主機(jī)目錄下是否后數(shù)據(jù)生成。
可以看到有數(shù)據(jù)生成,詳細(xì)的可以自己導(dǎo)docker目錄下去看
然后重啟一下容器,驗(yàn)證一下registry中的數(shù)據(jù)有沒有丟失,可以使用上文介紹的方法驗(yàn)證redis進(jìn)行是否存在(可以通過ui或者registry的http接口 http://192.168.56.102:7501/v2/_catalog )
停掉剛才啟動(dòng)的容器,記得把宿主機(jī)的docker-image目錄下的文件清理掉。
腳本如下
啟動(dòng)完畢后,驗(yàn)證方法同方案一,先push鏡像,然后檢查宿主機(jī)目錄下是否有數(shù)據(jù),重啟registry,看鏡像是否還在
四、docker如何使用自帶jdk部署docker
docker自帶jdk部署docker安裝方式:
1、在dockerhub中,jdk和tomacat不用想就知道會(huì)有現(xiàn)成的打包好的鏡像,果斷使用(建議使用更新時(shí)間比較近的)。
2、使用docker-pull將鏡像下載下來。
3、使用docker-run,name-tomacat(自定義的鏡像名)-p8080:8080-d-tomacat(鏡像名)來啟動(dòng)tomacat,這個(gè)時(shí)候tomacat和jdk都搞定了。
4、使用docker-ps,查看啟動(dòng)的鏡像,啟動(dòng)成功后即可在訪問ip:8080f訪問到tomacat服務(wù)啟動(dòng)后的主頁。
以上就是關(guān)于自定義docker鏡像庫相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
自定義動(dòng)畫怎么設(shè)置聲音(自定義動(dòng)畫怎么設(shè)置聲音效果)
電腦怎么設(shè)置圖標(biāo)自定義擺放(電腦桌面布局怎么變成自定義)
vi設(shè)計(jì)手冊(cè)完整版pdf(vi企業(yè)形象設(shè)計(jì)手冊(cè))
數(shù)據(jù)分析有幾種方法(數(shù)據(jù)分析有幾種方法)