免費(fèi)做電腦網(wǎng)站網(wǎng)站視頻
前言
剛進(jìn)入大暑,
“清涼不肯來,烈日不肯暮”
,空調(diào)開到晚,還是滿身汗。——碎碎念
我們知道,倉庫可見于不同領(lǐng)域,比如糧食倉庫、數(shù)據(jù)倉庫。在容器領(lǐng)域,自然也有鏡像倉庫(registry)。那為什么不是容器倉庫呢? 你想想,再想想,仔細(xì)想想…
docker
默認(rèn)支持公有
倉庫和私有
倉庫兩種。而公有倉庫比如Docker Hub
,因?yàn)樵趪?#xff08;所以你懂得),一般訪問比較慢,甚至無法訪問。此刻你需要一個(gè)加速器(比如常見的阿里云、網(wǎng)易云、騰訊云等)。
另外一類就是私有倉庫,簡(jiǎn)單講:“只為你服務(wù)”
,一般用于企業(yè)內(nèi)部的業(yè)務(wù)。那么,本博將通過最簡(jiǎn)單的辦法,教會(huì)你搭建一個(gè)專屬的私有倉庫。
Q:如何搭建一個(gè)最簡(jiǎn)單的Private倉庫
我們可以基于docker官方提供的registry鏡像,創(chuàng)建最簡(jiǎn)單的私有倉庫。如何做,請(qǐng)緊跟博主,防止迷路。
為便于操作,本博的所有操作均基于docker desktop4.0.1完成,“所見即所得”
,一目了然。當(dāng)然,如果需要熟練各種command,博主建議各位盆友在linux下完成相關(guān)操作(命令語句是完全一樣的)。
一、搭建Private倉庫
1. docker run
通過docker run
,我們先從公有倉庫下載一個(gè)docker倉庫鏡像:registry
。命令如下:
docker run -dp 5000:5000 --restart=always --name myregistry registry
2. docker ps
通過docker ps
,可查看已運(yùn)行的容器列表:
此時(shí),如有一個(gè)desktop則更簡(jiǎn)單了,省去了很多麻煩,直接打開Container/Apps。
3. docker exec
我們通過docker exec
命令訪問容器內(nèi)部,或者直接在desktop上輕輕點(diǎn)一下即可:
4. 驗(yàn)證倉庫運(yùn)行是否成功
打開瀏覽器,輸入http://localhost:5000/v2/_catalog
,如返回如下圖:
那么,我們可以收到 Congratulation
啦!
博主操作均通過desktop完成,因可正常訪問,所以并未對(duì)倉庫的https驗(yàn)證進(jìn)行特殊處理。如Linux
環(huán)境需要,請(qǐng)對(duì)daemon.json
文件進(jìn)行如下設(shè)置并完成docker重啟:
"insecure-registries": ["主機(jī)IP:5000"]
二、上傳一個(gè)鏡像
1. get image
倉庫已備,抓緊找個(gè)現(xiàn)有的鏡像哈。當(dāng)然你可以通過docker build
,創(chuàng)建一個(gè)新鏡像。為省事,博主還是去公共倉庫“抓”
一個(gè)吧。
docker run -d -v d:/docker/data/redis:/usr/local/test/redis -p 6379:6379 redis:latest
通過-v
我們新建了一個(gè)卷(Volume),指定“主機(jī)-容器”
之間的目錄映射。
成功之后,可以在Images中,看到一個(gè)新鏡像:redis
。
2. tag image
接下來,博主通過docker tag
為redis鏡像做個(gè)副本(據(jù)為己有
),命令如下:
docker tag 7614ae9453d1 localhost:5000/myredis:1.0
成功后,則看到下圖,一個(gè)新鏡像誕生了:myredis
,版本1.0
。
3. push image
通過docker push
,將myredis
上傳私倉:
docker push localhost:5000/myredis:1.0
4. 驗(yàn)證上傳是否成功
結(jié)語
docker registry
,一個(gè)簡(jiǎn)單的docker鏡像管理倉庫,為私有倉庫的建設(shè)提供了一些幫助。當(dāng)然如對(duì)私倉有更高的要求,我們需選擇新的工具去完成,這里不再多言。博主希望后續(xù)有機(jī)會(huì)再來大論一番。
系列回顧
- 微服務(wù)實(shí)戰(zhàn)系列之玩轉(zhuǎn)Docker(五)
- 微服務(wù)實(shí)戰(zhàn)系列之玩轉(zhuǎn)Docker(四)
- 微服務(wù)實(shí)戰(zhàn)系列之玩轉(zhuǎn)Docker(三)
- 微服務(wù)實(shí)戰(zhàn)系列之玩轉(zhuǎn)Docker(二)
- 微服務(wù)實(shí)戰(zhàn)系列之玩轉(zhuǎn)Docker(一)
- 微服務(wù)實(shí)戰(zhàn)系列之云原生