內(nèi)網(wǎng)環(huán)境下registry搭建步驟詳解

背景
在實(shí)際的開(kāi)發(fā)運(yùn)維過(guò)程中,經(jīng)常需要使用鏡像倉(cāng)庫(kù)的情況,雖然阿里云、騰訊云等都提供了帶有免費(fèi)額度的鏡像倉(cāng)庫(kù)服務(wù),但是由于賬號(hào)等問(wèn)題,我們還是需要自己搭建一個(gè)鏡像倉(cāng)庫(kù)服務(wù),供內(nèi)網(wǎng)環(huán)境下使用。
大致的步驟:
- 準(zhǔn)備docker環(huán)境
- 配置非http訪問(wèn)( Insecure Registries)
- 重新家在docker
- 啟動(dòng)registry
- 啟動(dòng)registry-web
docker環(huán)境
假設(shè)你的本地已經(jīng)裝好了docker-ce,并且可以正常運(yùn)行。
參考:
docker desktop for windows docker desktop for mac apt-get install docker yum install docker
配置http可訪問(wèn)
默認(rèn)的docker與docker registry交互是需要在https的環(huán)境下交互的,但是大多數(shù)情況下我們的服務(wù)是在內(nèi)網(wǎng)的安全環(huán)境下的,我們只需要使用http即可。 幸好docker為我們預(yù)留了可以使用http的方法。 那就是需要修改deamon.json文件。
如果你是mac或者是windows的desktop端,需要點(diǎn)擊設(shè)置,修改docker engine里的設(shè)置:

添加圖中框起來(lái)的代碼:
"insecure-registries": [
"192.168.10.206:5000"
]
注:ip是下面registry服務(wù)部署的機(jī)器ip 5000時(shí)registry服務(wù)默認(rèn)的暴露端口 我們可以自行修改
如果您是linux環(huán)境,需要修改/etc/docker/deamon.json文件,如果沒(méi)有這個(gè)文件,可以新建。
重新加載docker
desktop在配置完之后,我們可以直接點(diǎn)擊Apply & Restart按鈕進(jìn)行重啟。 linux環(huán)境下
sudo systemctl status docker sudo systemctl reload docker sudo systemctl restart docker
其中第二個(gè)命令執(zhí)行完即可,如果未生效,可以繼續(xù)執(zhí)行第三個(gè)命令。 第三個(gè)命令執(zhí)行完之后,那些容器的啟動(dòng)策略不是always的就會(huì)停掉。所以我們要慎重使用這個(gè)命令。
啟動(dòng)registry
設(shè)定當(dāng)前目錄為工作環(huán)境,創(chuàng)建config.yml文件如下:
version: 0.1
log:
fields:
service: registry
storage:
delete:
enabled: true
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/registry
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3
執(zhí)行命令:
mkdir data
docker run -d \
--name registry-server \
--restart=always \
-p 5000:5000 \
-v `pwd`/data:/var/lib/registry \
-v `pwd`/config.yml:/etc/docker/registry/config.yml \
registry
訪問(wèn)ip:5000/v2/_catalog即為部署成功

測(cè)試:
docker pull alpine docker tag alpine:latest 192.168.10.206:5000/alpine:latest docker push 192.168.10.206:5000/alpine:latest
啟動(dòng)registry-web
由于官方的registry只是提供了api,沒(méi)有一個(gè)圖形化界面供顯示和操作,所以我們可以利用第三方提供的鏡像啟動(dòng)一個(gè)圖形化頁(yè)面。
進(jìn)入一個(gè)工作目錄。 創(chuàng)建config.yml文件
registry:
# Docker registry url
url: http://192.168.10.206:5000/v2
# Docker registry fqdn
name: localhost:5000
# To allow image delete, should be false
readonly: false
auth:
# Disable authentication
enabled: false
啟動(dòng)容器
docker run -d \
-p 8080:8080 \
--name registry-web \
--restart=always \
-v $(pwd)/config.yml:/conf/config.yml:ro \
hyper/docker-registry-web
訪問(wèn)ip:8080,看到如下頁(yè)面,大功告成。

以上就是內(nèi)網(wǎng)環(huán)境下registry搭建步驟詳解的詳細(xì)內(nèi)容,更多關(guān)于內(nèi)網(wǎng)環(huán)境registry搭建的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
docker安裝RocketMQ的實(shí)現(xiàn)(附填坑經(jīng)驗(yàn)connect to failed)
本文主要介紹了docker安裝RocketMQ(附填坑經(jīng)驗(yàn)connect to failed)2024-06-06
Docker數(shù)據(jù)存儲(chǔ)之Volumes詳解
今天小編就為大家分享一篇關(guān)于Docker數(shù)據(jù)存儲(chǔ)之Volumes詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
docker安裝rockerChat設(shè)置聊天室的詳細(xì)步驟
這篇文章主要介紹了docker安裝rockerChat設(shè)置聊天室的方法,通過(guò)設(shè)置文件獲取docker-compose文件,文中給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-05-05
基于Docker部署GitLab環(huán)境搭建的方法步驟
這篇文章主要介紹了基于Docker部署GitLab環(huán)境搭建的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
docker 基于golang鏡像構(gòu)建 ssh服務(wù)的方法
這篇文章主要介紹了docker 基于golang鏡像構(gòu)建 ssh服務(wù)的方法,添加goland環(huán)境變量的方法及centos下sshd和goland環(huán)境的docker文件配置方法,需要的朋友可以參考下2021-07-07
docker Compose部署springboot+vue前端端分離
本文主要介紹了docker Compose部署springboot+vue前端端分離,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08

