踩了兩天的坑,試了很多個方案,這個是最簡單易用的,記錄一下斤讥,供大家參考。
這里用到docker-compose來管理多個容器湾趾,配置文件寫好了芭商,使用起來非常方便。
一搀缠、環(huán)境信息:
操作系統(tǒng):阿里云ces Ubuntu 18.04 64位
Docker版本:19.03.5 (其他版本應該類似)
registry:latest
registry-web: hyper/docker-registry-web:latest
二铛楣、搭建前準備
1.拉取鏡像
docker pull hyper/docker-registry-web
docker pull registry
2.下載docker-compose
官網(wǎng)下載鏈接:https://docs.docker.com/compose/install/
curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
注意:使用下載命令有時候不成功,但是又不會報任何錯誤艺普,此時需要自己去github上下載簸州,參考鏈接:docker-compose命令不存在、docker-compose not found
三歧譬、搭建過程
(1)創(chuàng)建存放配置文件和私有倉庫鏡像的存儲目錄
mkdir -p /usr/local/docker-registry/conf/registry #存放倉庫的配置信息
mkdir -p /usr/local/docker-registry/conf/registry-web #存放倉庫UI界面的配置信息
mkdir -p /usr/local/docker-registry/registry #存放倉庫的鏡像
mkdir -p /usr/local/docker-registry/db #倉庫的訪問信息
(2)生成證書
openssl req -new -newkey rsa:4096 -days 365 \
-subj "/CN=172.28.162.113" \
-nodes -x509 \
-keyout /usr/local/docker-registry/conf/registry-web/auth.key \
-out /usr/local/docker-registry/conf/registry/auth.cert
(3)創(chuàng)建倉庫的配置文件
vi /usr/local/docker-registry/conf/registry/config.yml
內(nèi)容如下:
version: 0.1
storage:
filesystem:
rootdirectory: /var/lib/registry
http:
addr: 0.0.0.0:5000
auth:
token:
realm: http://10.10.10.99:50000/api/auth
service: 10.10.10.99:5000
issuer: 'admin'
rootcertbundle: /etc/docker/registry/auth.cert
(4)創(chuàng)建倉庫UI的配置文件
vi /usr/local/docker-registry/conf/registry-web/config.yml
內(nèi)容如下:
registry:
url: http://10.10.10.99:5000/v2
name: 10.10.10.99:5000
readonly: false
auth:
enabled: true
issuer: 'admin'
key: /conf/auth.key
(5)創(chuàng)建docker-compose啟動配置文件
version: '2'
services:
registry-web:
image: hyper/docker-registry-web:latest
ports:
- 50000:8080
volumes:
- /usr/local/docker-registry/conf/registry-web:/conf:ro
- /usr/local/docker-registry/db:/data
networks:
- registry-net
depends_on:
- registry
restart: always
registry:
image: registry:2.4.1
ports:
- 5000:5000
volumes:
- /usr/local/docker-registry/conf/registry:/etc/docker/registry:ro
- /usr/local/docker-registry/registry:/var/lib/registry
environment:
- REGISTRY_STORAGE_DELETE_ENABLED=true
networks:
- registry-net
restart: always
networks:
registry-net:
driver: default #如果報錯就注掉
yml文件主要格式岸浑,每一級都要縮進,最好用一個tab鍵瑰步,切記矢洲,如果啟動失敗,一定好好檢查這幾個配置文件缩焦,特別是空格(tab鍵)读虏。
(6)通過docker-compose拉取鏡像啟動容器
docker-compose up -d
OK,啟動完成
網(wǎng)頁登錄
到此所有的搭建已經(jīng)結(jié)束舌界。
可以打開瀏覽器輸入:10.10.10.99:50000
阿里云自己開端口就不用我提醒了吧掘譬。
輸入賬號密碼登錄,默認是admin/admin呻拌,可以登錄后修改葱轩,默認賬號只有ui的管理功能,如果需要push功能還需要自己配置權(quán)限。
配置權(quán)限
也可以使用docker命令登錄:
docker login 10.10.10.99:5000