如下步驟均爲本人親自踩坑,歷經數次失敗,最終搭建成功
1、環境信息:
操做系統:CentOS 7
Docker版本:1.12.5 (更高版本應該相似)
registry:2.4.1
registry-web: hyper/docker-registry-web:latest
2、搭建步驟:
一、拉取鏡像registry(倉庫)和registry-web(用於訪問倉庫的UI界面):node
docker pull hyper/docker-registry-web docker pull registry:2.4.1
二、下載docker-compose(一種簡化複雜容器應用的利器,具體使用可參見官網)
官網下載連接:https://docs.docker.com/compose/install/
懶人能夠直接使用下面的命令便可下載git
curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
下載完成後更改docker-compose的權限:github
chmod 755 /usr/local/bin/docker-compose
三、建立幾個目錄,用於存放配置文件和做爲私有倉庫的鏡像存儲目錄web
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 #倉庫的訪問信息
四、生成證書docker
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
五、建立yml配置文件
###建立倉庫的配置文件
vim /data/registry_dir/conf/registry/config.ymlvim
version: 0.1 storage: filesystem: rootdirectory: /var/lib/registry http: addr: 0.0.0.0:5000 auth: token: realm: http://localhost:8080/api/auth service: localhost:5000 issuer: 'admin' rootcertbundle: /etc/docker/registry/auth.cert
###建立倉庫UI的配置文件
vim /data/registry_dir/conf/registry-web/config.ymlapi
registry: url: http://registry-srv:5000/v2 name: localhost:5000 readonly: false auth: enabled: true issuer: 'admin' key: /conf/auth.key
###建立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
六、啓動容器markdown
docker-compose up -d
搭建完成,查看鏡像運行狀況:docker ps | grep registry
正常運行的話,接下來就能夠愉快的訪問你的鏡像倉庫了,打開瀏覽器,輸入localhost:8080(從其餘機器訪問該倉庫的話,輸入ip:port的方式就能夠)默認用戶名密碼是admin/admin curl
也能夠從後臺驗證配置是否準確:
docker login localhost:5000
輸入正確的用戶密碼會提示:
若是密碼錯,則會提示:
至此,帶有訪問認證的docker私有倉庫搭建完畢,也可參考官網經過docker run的方式,
連接:https://hub.docker.com/r/hyper/docker-registry-web/
另外需注意,首次向倉庫push鏡像時會提示權限問題,須要登陸web給admin用戶分配一下權限。