啟用 Registry

  1. docker.io/library/registry 是一個可以儲存 images 的 registry,下載並啟動成名為 myregistry 的容器
  2. 使用 host 443 port 導向容器的 5000 port,且需要帳密認證。
    [root@registry ~]# podman run --name registry0 \
    -p 443:5000 \
    -v /opt/registry/data:/var/lib/registry:z \
    -v /opt/registry/auth:/auth:z \
    -e "REGISTRY_AUTH=htpasswd" \
    -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
    -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
    -v /opt/registry/certs:/certs:z \
    -e "REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt" \
    -e "REGISTRY_HTTP_TLS_KEY=/certs/domain.key" \
    -e REGISTRY_COMPATIBILITY_SCHEMA1_ENABLED=true \
    -d docker.io/library/registry:latest
    
  3. 使用 host 443 port 導向容器的 5000 port,但不需要帳密認證。
    [root@registry ~]# podman run --name registry1 \
    -p 443:5000 \
    -v /opt/registry/data:/var/lib/registry:z \
    -v /opt/registry/auth:/auth:z \
    -v /opt/registry/certs:/certs:z \
    -e "REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt" \
    -e "REGISTRY_HTTP_TLS_KEY=/certs/domain.key" \
    -e REGISTRY_COMPATIBILITY_SCHEMA1_ENABLED=true \
    -d docker.io/library/registry:latest
    
  4. 啟用不用帳密且不加密的 registry,host 80 port 導向容器的 5000 port。
    [root@registry ~]# podman run --name registry2 \
    -p 80:5000 \
    -v /opt/registry/data:/var/lib/registry:z \
    -e REGISTRY_COMPATIBILITY_SCHEMA1_ENABLED=true \
    -d docker.io/library/registry:latest
    
  5. 防火牆開放 http 及 https 服務。
    [root@registry ~]# firewall-cmd --permanent --add-service=http --add-service=https 
    success
    [root@registry ~]# firewall-cmd --reload 
    success