一、环境信息:
操作系统:liunx
Docker版本:19.03.5 (其他版本应该类似)、下载docker-compose
registry:latest
registry-web: hyper/docker-registry-web:latest
ip:10.10.10.10
port:8081 web端口 5000服务端口
二、搭建过程
先建一个文件夹registry ,这个将作为根文件夹。进入这个文件夹:
registry: /usr/local/registry/
1、创建相关文件夹
mkdir -p /usr/local/registry/conf/registry #存放仓库的配置信息
mkdir -p /usr/local/registry/conf/registry-web #存放仓库UI界面的配置信息
mkdir -p /usr/local/registry/registry #存放仓库的镜像
mkdir -p /usr/local/registry/db #仓库的访问信息
2、生成证书
openssl req -new -newkey rsa:4096 -days 365 \
-subj "/CN=172.28.162.113" \
-nodes -x509 \
-keyout /usr/local/registry/conf/registry-web/auth.key \
-out /usr/local/registry/conf/registry/auth.cert
3、创建仓库的配置文件
vi /usr/local/registry/conf/registry/config.yml
内容如下:
version: 0.1
storage:
filesystem:
rootdirectory: /var/lib/registry
http:
addr: 0.0.0.0:5000
auth:
token:
realm: http://10.10.10.10:8081/api/auth
service: 10.10.10.10:5000
issuer: 'admin'
rootcertbundle: /etc/docker/registry/auth.cert
4、创建仓库UI的配置文件
vi /usr/local/registry/conf/registry-web/config.yml
内容如下:
registry:
url: http://10.10.10.10:5000/v2
name: 10.10.10.10:5000
readonly: false
auth:
enabled: true
issuer: 'admin'
key: /conf/auth.key
5、创建docker-compose启动配置文件
version: '3'
services:
registry-web:
image: hyper/docker-registry-web:latest
ports:
- 8081:8080
volumes:
- /usr/local/registry/conf/registry-web:/conf:ro
- /usr/local/registry/db:/data
depends_on:
- registry
restart: always
registry:
image: registry:last
ports:
- 5000:5000
volumes:
- /usr/local/registry/conf/registry:/etc/docker/registry:ro
- /usr/local/registry/registry:/var/lib/registry
environment:
- REGISTRY_STORAGE_DELETE_ENABLED=true
restart: always
6、通过docker-compose拉取镜像启动容器
docker-compose up -d
到此所有的搭建已经结束。
三、简单使用
访问:ip:8081
输入账号密码登录,默认是admin/admin,可以登录后修改,默认账号只有ui的管理功能,如果需要push功能还需要自己配置权限。
四、常用命令
1、登陆
docker login [option] [server]
option列表如下:
- -password, -p:密码
- -password-stdin:从标准输入中读取密码
- -username, -u:用户名
例如:
docker login 10.10.10.10:5000
2、tag
docker tag old-image[:old-tag] new-image[:new-tag]
例如:
docker tag nginx 10.10.10.10:5000/nginx:v1
3、push
docker push [OPTIONS] NAME[:TAG]
例如:
docker push nginx 10.10.10.10:5000/nginx:v1
评论区