网页界面镜像是我汉化制作的,欢迎关注我B站账号 秦曱凧 (读作 qín yuē zhēng)
后面有新的项目,会在B站先发,欢迎关注。
项目介绍
这个项目是搭配Docker自建仓库的网页界面。必须要部署Docker官方出的registry镜像才可以。
欢迎start
有需要帮忙部署这个项目的朋友,一杯奶茶,即可程远程帮你部署,需要可联系。
微信号 E-0_0-
闲鱼搜索用户 明月人间
或者邮箱 firfe163@163.com
视频教程
Docker私有仓库部署
compose 方式部署文件内容
name: registryservices: registry: container_name: registry image: registry:3.0.0 network_mode: bridge restart: always cpus: 1 mem_limit: 512m logging: options: max-size: "1m" max-file: "3" ports: - 5000:5000 volumes: - ./data:/var/lib/registry/docker/registry/v2 # 这个容器指定映射路径,数据在上面的目录中 - ./data-null:/var/lib/registry environment: TZ: Asia/Shanghai # 允许删除镜像操作 REGISTRY_STORAGE_DELETE_ENABLED: true
网页界面部署
配合自建镜像仓库registry的网页端。
compose 方式部署文件内容
name: registry-browserservices: registry-browser: container_name: registry-browser image: swr.cn-north-4.myhuaweicloud.com/firfe/drb_zh-cn:1.8.5 network_mode: bridge restart: always cpus: 1 mem_limit: 512m logging: options: max-size: "1m" max-file: "3" environment: TZ: Asia/Shanghai TIME_ZONE: Asia/Shanghai SECRET_KEY_BASE: docker-registry-browser # 在存储库列表上启用折叠的列表 ENABLE_COLLAPSE_NAMESPACES: true # 显示删除操作 ENABLE_DELETE_IMAGES: true # registry地址 按照下面示例的格式,改成自己的 DOCKER_REGISTRY_URL: http://192.168.1.1:5000 # 镜像拉取前缀 按照下面示例的格式,改成自己的 PUBLIC_REGISTRY_URL: 192.168.1.1:5000 ports: - 8080:8080
说明
- 环境变量
- ENABLE_DELETE_IMAGES: "true" 允许删除容器
- PORT 监听端口 默认 8080
- SECRET_KEY_BASE 加密密钥 必须有
- ENABLE_COLLAPSE_NAMESPACES: true 在存储库列表上启用折叠的列表
- CATALOG_PAGE_SIZE: 100 一页最大数量 默认100
- 子路径
在同一主机上同时公开 docker-registry API 和 docker-registry-browserSCRIPT_NAME: /子路径
RAILS_RELATIVE_URL_ROOT: /子路径 对网页设置子路径 默认是管跟路径
配置示例
environment: SCRIPT_NAME: "/browser" RAILS_RELATIVE_URL_ROOT: "/browser"
Nginx 配置
确保在 /browser/ 中 proxy_pass 指令中使用的 URL 末尾添加 /
server { listen 8000; server_name 127.0.0.1; location /browser/ { proxy_pass http://127.0.0.1:8080/; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /v2/ { client_max_body_size 4G; proxy_pass http://127.0.0.1:5000; }}
- PUBLIC_REGISTRY_URL 设置 docker 注册表 URL 的公共版本,并将用于显示自定义 docker pull 命令 默认没有,在网页端一键复制镜像拉取命令
- 仓库认证
不写的话需要每次都要在浏览器中填写- BASIC_AUTH_USER 允许定义用于针对 docker-registry API 的 HTTP 基本身份验证的用户名
- BASIC_AUTH_PASSWORD 针对 docker-registry API 的 HTTP 基本身份验证的密码
nginx 设置
通过nginx设置反向代理,把registry的仓库和网页端代理到一个端口上,解决跨域问题
server { listen 端口; listen [::]:端口; # 要添加证书,就用用下面注释的配置 #listen 端口 ssl; #listen [::]:端口 ssl; #server_name 域名; #ssl_certificate 证书; #ssl_certificate_key 私钥; #ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; location / { # 网页端地址 proxy_pass http://127.0.0.0:1040; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /v2/ { # 大小 大于镜像大小 client_max_body_size 4G; # registry 地址 proxy_pass http://127.0.0.0:5000; }}
效果图