compose:


prism-highlight prism-bash
version: "3.8"
services:
  registry:
    image: registry:2
    container_name: registry
    restart: always
    ports:
      - "6811:5000" #镜像地址
    volumes:
      - ./data:/var/lib/registry
      - ./auth:/auth
    environment:
      REGISTRY_AUTH: htpasswd
      REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
      REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
      REGISTRY_STORAGE_DELETE_ENABLED: "true"
  registry-ui:
    image: joxit/docker-registry-ui:main
    container_name: registry-ui
    restart: always
    ports:
      - "6812:80" #UI管理
    environment:
      SINGLE_REGISTRY: "true"
      REGISTRY_TITLE: "My Private Docker Registry"
      NGINX_PROXY_PASS_URL: "http://registry:5000"
      DELETE_IMAGES: "true"
    depends_on:
      - registry

此项目启用了密码验证,需要先在目录中创建一个记录密钥的文件:

prism-highlight prism-bash
cd docker-registry
mkdir -p auth data
docker run --rm --entrypoint htpasswd httpd:2 -Bbn 用户名 密码 > auth/htpasswd

在去启动compose创建容器

prism-highlight prism-bash
docker compose up -d

最终创建两个容器,

image.png

再去把两个地址反代成https。

后续 GitHub Actions Secrets:

REGISTRY_USER=用户名

REGISTRY_PASSWORD=密码


拉取镜像:

镜像地址/你的镜像名:latest