Docker搭建帶有訪問認證的私有倉庫

2021-09-07 18:47:03 字數 3093 閱讀 7144

2023年06月10日 17:30:26

以下步驟均為本人親自踩坑,歷經數次失敗,最終搭建成功 

一、環境資訊: 

作業系統:centos 7 

docker版本:1.12.5 (更高版本應該類似) 

registry:2.4.1 

registry-web: hyper/docker-registry-web:latest 

二、搭建步驟: 

1、拉取映象registry(倉庫)和registry-web(用於訪問倉庫的ui介面):

docker pull hyper/docker-registry-web

docker pull registry:2.4.1

curl -l  -s`-`uname -m` > /usr/local/bin/docker-compose
chmod 755 /usr/local/bin/docker-compose
3、建立幾個目錄,用於存放配置檔案和作為私有倉庫的映象儲存目錄

mkdir -p /data/registry_dir/conf/registry   #存放倉庫的配置資訊

mkdir -p /data/registry_dir/conf/registry-web #存放倉庫ui介面的配置資訊

mkdir -p /data/registry_dir/registry #存放倉庫的映象

mkdir -p /data/registry_dir/db #倉庫的訪問資訊

4、生成證書

openssl req -new -newkey rsa:4096 -days 365 \

-subj "/cn=localhost" \

-nodes -x509 \

-keyout /data/registry_dir/conf/registry-web/auth.key \

-out /data/registry_dir/conf/registry/auth.cert

5、建立yml配置檔案 

###建立倉庫的配置檔案 

###建立倉庫ui的配置檔案 

###建立docker-compose啟動配置檔案 

vim /data/registry_dir/docker-compose.yml

version: '2'

services:

registry-web:

image: hyper/docker-registry-web:latest

ports:

- 8080:8080

volumes:

- /data/registry_dir/conf/registry-web:/conf:ro

- /data/registry_dir/db:/data

networks:

- registry-net

depends_on:

- registry

restart: always

registry:

image: registry:2.4.1

ports:

- 5000:5000

volumes:

- /data/registry_dir/conf/registry:/etc/docker/registry:ro

- /data/registry_dir/registry:/var/lib/registry

environment:

- registry_storage_delete_enabled=true

networks:

- registry-net

restart: always

networks:

registry-net:

#driver: default

6、啟動容器

docker-compose up -d
搭建完成,檢視映象運**況:docker ps | grep registry 

正常執行的話,接下來就可以愉快的訪問你的映象倉庫了,開啟瀏覽器,輸入localhost:8080(從其他機器訪問該倉庫的話,輸入ip:port的方式就可以)預設使用者名稱密碼是admin/admin 

也可以從後台驗證配置是否準確:

docker login localhost:5000
另外需注意,首次向倉庫push映象時會提示許可權問題,需要登入web給admin使用者分配一下許可權。

搭建gitbook 和 訪問許可權認證

相信大家都或多或少的都接觸過gitbook。gitbook 首先是乙個軟體,正如上面定義的那樣,它使用 git 和 markdown 來編排書本,如果使用者沒有聽過 git 和 markdown,那麼 gitbook 可能不適合你。廢話不多說,幹起來。1.1 安裝npm包 npm install g...

帶有中介軟體的登入認證

中介軟體版的登入驗證需要依靠session,所以資料庫中要有django session表。先建立乙個mysql的資料庫 啟動mysql伺服器 net start mysql 以管理員身份登入 mysql uroot p 檢視資料庫 show databases 建立資料庫 create datab...

《探錯筆記》之docker遠端訪問CA認證登入失敗

給已有docker環境做基於portainer的統一管理 測試時在idea中配置docker,連線遠端機器的2376安全埠,測試不通過,出現 docker chanel disconnected before any data was received通過分析,發現是之前生成證書的時候,新增訪問白名...