Skip to content

Instantly share code, notes, and snippets.

@taking
Last active June 15, 2022 02:24
Show Gist options
  • Save taking/478d855e989a4ec84085648a727b877f to your computer and use it in GitHub Desktop.
Save taking/478d855e989a4ec84085648a727b877f to your computer and use it in GitHub Desktop.

Docker Registry - Docker Hub Pull Through Mirror

Prerequisites

  • docker
  • docker-compose
mkdir -p registry/auth
docker run \
  --entrypoint htpasswd \
httpd:2 -Bbn registryName registryPass > registry/auth/htpasswd
version: '3'
services:
  registry-web:
    image: klausmeyer/docker-registry-browser
    ports:
      - 8080:8080
    environment:
      - "DOCKER_REGISTRY_URL=http://registry:5000"
      - "ENABLE_DELETE_IMAGES=false"
      - "PUBLIC_REGISTRY_URL=localhost:5000"
    depends_on:
       - registry
  registry:
    container_name: registry
    restart: unless-stopped
    image: registry:2
    ports:
    - "5000:5000"
    environment:
      REGISTRY_AUTH: htpasswd
      REGISTRY_AUTH_HTPASSWD_REALM: Registry
      REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
      REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data
      REGISTRY_PROXY_REMOTEURL: "https://registry-1.docker.io"
      REGISTRY_PROXY_USERNAME: [USERNAME]
      REGISTRY_PROXY_PASSWORD: [PASSWORD]
      REGISTRY_MIRROR_SOURCE_INDEX: https://index.docker.io
    volumes:
      - ./registry/auth:/auth
      - ./registry/data:/data

image image

@taking
Copy link
Author

taking commented Jun 15, 2022

curl -u [USER]:[PASS] https://mirror.[mydomain].[tld]/v2/
curl -u [USER]:[PASS] https://mirror.[mydomain].[tld]/v2/_catalog

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment