部署輕量級的docker鏡像倉庫網(wǎng)站(支持認證與圖形化界面)

概要

目標

因為實驗需要一個內(nèi)部私有倉庫狮崩,并且有圖形界面。但資源有限丘薛,不適宜部署harbor嘉竟。所以需要部署一個輕量級的harbor替代方案,要求有基本認證榔袋,圖形化界面周拐。Docker Registry支持的htpasswd就能滿足基本認證需求, 而后凰兑,網(wǎng)上找了一個Docker Registry User Interface就能基本實現(xiàn)圖形界面的需求妥粟。

環(huán)境要求

  • docker 已經(jīng)部署
  • 安裝了docker-compose
  • 網(wǎng)絡(luò)可以訪問dockerhub或者鏡像

部署流程

創(chuàng)建目錄

cd <工作目錄>
mkdir -pv registry
cd <工作目錄>/registry
mkdir -pv data  # 存放鏡像文件的目錄 
mkdir -pv auth  # 存放認證文件的目錄

設(shè)置關(guān)鍵變量

cd <工作目錄>/registry
vim .env_file
# htpasswd認證用戶名和密碼
HTPSD_USERNAME: register # 用戶名
HTPSD_PASSWD: mypasswd   # 密碼

# docker registry 的配置
REGISTRY_AUTH: htpasswd  # 認證方式是htpasswd
REGISTRY_AUTH_HTPASSWD_REALM: Registry-Realm  
REGISTRY_AUTH_HTPASSWD_PATH: /auth/registry.passwd
REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data  # 存放鏡像的目錄
REGISTRY_STORAGE_DELETE_ENABLED: true  # 允許用戶刪除鏡像

# Docker Registry User Interface圖形化的參數(shù)
SINGLE_REGISTRY: true
REGISTRY_TITLE: 我的鏡像倉庫
DELETE_IMAGES: true  # 允許刪除鏡像
SHOW_CONTENT_DIGEST: true   # 在 Docker 標簽列表中顯示/隱藏內(nèi)容摘要
NGINX_PROXY_PASS_URL: http://registry:5000  # 倉庫地址
SHOW_CATALOG_NB_TAGS: true  # 在目錄頁面顯示每個鏡像的標簽數(shù)量,并隱藏 0 標簽的鏡像吏够。
CATALOG_MIN_BRANCHES: 1  # 設(shè)置默認展開的最低倉庫/命名空間數(shù)量
CATALOG_MAX_BRANCHES: 1  # 設(shè)置默認展開的最大倉庫/命名空間數(shù)量
TAGLIST_PAGE_SIZE: 100  # 設(shè)置單頁顯示的標簽數(shù)量勾给。
REGISTRY_SECURED: false # 默認情況下,UI 會在每個請求中檢查倉庫是否安全(控制臺中會看到 401 響應(yīng))锅知。如果倉庫使用基本認證播急,請設(shè)置為 true,可減少倉庫請求的數(shù)量售睹。(默認值:false)桩警。
CATALOG_ELEMENTS_LIMIT: 1000 # 限制目錄頁面中的元素數(shù)量

創(chuàng)建docker-compose的配置文件

cd <工作目錄>/registry
vim docker-compose.yaml

version: '3.8'
services:
  ## 容器啟動階段使用 htpasswd 創(chuàng)建認證文件。
  htpasswd_init:
    image: httpd:latest  # Use httpd, which includes htpasswd utility
    command:
      - bash
      - -c
      - if [ ! -f /auth/registry.passwd ];then htpasswd -bBc /auth/registry.passwd "$$HTPSD_USERNAME" "$$HTPSD_PASSWD" ;fi
    volumes:
      - ./auth:/auth # Mounts a shared directory to store the htpasswd file
    restart: "no"  # Ensures it only runs once at startup
    env_file:
      - ./.env_file
  # docker-registry昌妹, docker官方倉庫
  registry:
    image: registry:2
    restart: always
    env_file:
      - ./.env_file
    volumes:
      - ./data:/data
      - ./auth:/auth
    networks:
      - registrynet
    depends_on:
      - htpasswd_init  # 等待htpasswd_init創(chuàng)建完成密碼文件再運行捶枢。
  # 圖形化界面的容器
  registry-ui:
    image: joxit/docker-registry-ui:main
    restart: always
    ports:
      - "9180:80"   # 對外的端口握截,可以修改為你實際需要的端口。
    env_file:
      - ./.env_file
    container_name: registry-ui
    networks:
      - registrynet
networks:
  registrynet:
    driver: bridge

部署

cd <工作目錄>/registry
docker-compose up -d
docker-compose ps

docker客戶端使用

登錄

docker login <ip>:9180 -u register  -p mypasswd

推送測試

docker pull alpine
docker tag  alpine:3.20.2 <ip>:9180/baseimg/alpine:3.20.2  # 修改成 “倉庫的地址:/組名/鏡像名:版本號"
docker push <ip>:9180/baseimg/alpine:3.20.2

拉取測試

# 刪除測試鏡像
docker rmi <ip>:9180/baseimg/alpine:3.20.2
docker images |grep alpine:3.20.2

# 重新拉取鏡像
docker pull <ip>:9180/baseimg/alpine:3.20.2
docker images |grep alpine:3.20.2

圖形界面

訪問:

http://127.0.0.1:9180/


1730607262302.png

查看鏡像詳情

1730607146356.png
1730607160338.png

刪除鏡像測試

1730607361143.png

參考資料

Registry 用戶界面 Docker Registry User Interface

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末烂叔,一起剝皮案震驚了整個濱河市谨胞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蒜鸡,老刑警劉巖胯努,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異逢防,居然都是意外死亡叶沛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門胞四,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恬汁,“玉大人伶椿,你說我怎么就攤上這事辜伟。” “怎么了脊另?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵导狡,是天一觀的道長。 經(jīng)常有香客問我偎痛,道長旱捧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任踩麦,我火速辦了婚禮枚赡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘谓谦。我一直安慰自己贫橙,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布反粥。 她就那樣靜靜地躺著卢肃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪才顿。 梳的紋絲不亂的頭發(fā)上莫湘,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音郑气,去河邊找鬼幅垮。 笑死,一個胖子當著我的面吹牛尾组,可吹牛的內(nèi)容都是我干的忙芒。 我是一名探鬼主播巩螃,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼匕争!你這毒婦竟也來了避乏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤甘桑,失蹤者是張志新(化名)和其女友劉穎拍皮,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體跑杭,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡铆帽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了德谅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片爹橱。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖窄做,靈堂內(nèi)的尸體忽然破棺而出愧驱,到底是詐尸還是另有隱情,我是刑警寧澤椭盏,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布组砚,位于F島的核電站,受9級特大地震影響掏颊,放射性物質(zhì)發(fā)生泄漏糟红。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一乌叶、第九天 我趴在偏房一處隱蔽的房頂上張望盆偿。 院中可真熱鬧,春花似錦准浴、人聲如沸事扭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽句旱。三九已至,卻和暖如春晰奖,著一層夾襖步出監(jiān)牢的瞬間谈撒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工匾南, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留啃匿,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像溯乒,于是被迫代替她去往敵國和親夹厌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345