zoukankan      html  css  js  c++  java
  • 私有registry及证书配置

          以静态pod运行资源清单

    apiVersion: v1
    kind: Pod
    metadata:
      labels:
        component: registry
      name: registry
      namespace: default
    spec:
      nodeName: node01
      containers:
      - env:
        - name: REGISTRY_AUTH
          value: htpasswd
        - name: REGISTRY_AUTH_HTPASSWD_REALM
          value: Registry Realm
        - name: REGISTRY_AUTH_HTPASSWD_PATH
          value: auth/htpasswd
        - name: REGISTRY_HTTP_ADDR
          value: 0.0.0.0:443
        - name: REGISTRY_HTTP_TLS_CERTIFICATE
          value: /certs/fullchain.cer
        - name: REGISTRY_HTTP_TLS_KEY
          value: /certs/registry.huoyancredit.com.key
        name: registry
        image: registry
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 443
          hostPort: 443
        volumeMounts:
        - name: self-registry-mirrors
          mountPath: /var/lib/registry
          readOnly: false
        - name: auth
          mountPath: /auth
          readOnly: true
        - name: certs
          mountPath: /certs
          readOnly: true
      hostNetwork: false
      volumes:
      - name: self-registry-mirrors
        hostPath:
          path: /data
          type: DirectoryOrCreate
      - name: auth
        hostPath:
          path: /opt/auth
          type: Directory
      - name: certs
        hostPath:
          path: /opt/certs
          type: Directory
    

      

      以docker container运行

    docker run  -d --restart=always -v /opt/auth/:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd -v /opt/certs/:/certs -e  REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/fullchain.cer -e REGISTRY_HTTP_TLS_KEY=/certs/registry.huoyancredit.com.key -p 443:443 registry
    
    docker run  -d --restart=always  -v /registry:/var/lib/registry -v /root/.acme.sh/mirrors.huoyancredit.com:/certs -e  REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/fullchain.cer -e REGISTRY_HTTP_TLS_KEY=/certs/mirrors.huoyancredit.com.key -p 443:443 registry
    

      私有仓库web

    docker run -itd -p 8080:8080 --name registry-web -e REGISTRY_URL=https://mirrors.huoyancredit.com/v2 -e REGISTRY_NAME=local hyper/docker-registry-web
    

     

    文档:
        https://blog.csdn.net/snipercai/article/details/78589368
        https://github.com/mkuchin/docker-registry-web
    
    Do not use registry as registry container name, it will break REGISTRY_NAME environment variable
    	docker run -d -p 5000:5000 --name registry-srv registry:2
     	docker run -it -p 8080:8080 --name registry-web --link registry-srv -e REGISTRY_URL=http://registry-srv:5000/v2 -e REGISTRY_NAME=localhost:5000 hyper/docker-registry-web
    
    Connecting to docker registry with basic authentication and self-signed certificate
    	docker run -it -p 8080:8080 --name registry-web --link registry-srv 
               -e REGISTRY_URL=https://registry-srv:5000/v2 
               -e REGISTRY_TRUST_ANY_SSL=true 
               -e REGISTRY_BASIC_AUTH="YWRtaW46Y2hhbmdlbWU=" 
               -e REGISTRY_NAME=localhost:5000 hyper/docker-registry-web
    
    No authentication, with config file
    	Create configuration file config.yml,Any property in this config may be overridden with environment variable, for example property registry.auth.enabledwill become REGISTRY_AUTH_ENABLED
    registry:
      # Docker registry url
      url: http://registry-srv:5000/v2
      # Docker registry fqdn
      name: localhost:5000
      # To allow image delete, should be false
      readonly: false
      auth:
        # Disable authentication
        enabled: false
    
       Run with docker
    
       	docker run -p 5000:5000 --name registry-srv -d registry:2
    	docker run -it -p 8080:8080 --name registry-web --link registry-srv -v $(pwd)/config.yml:/conf/config.yml:ro hyper/docker-registry-web
    
    With authentication enabled
    
    Generate private key and certificate
    
    mkdir conf
    openssl req -new -newkey rsa:4096 -days 365 -subj "/CN=localhost" 
            -nodes -x509 -keyout conf/auth.key -out conf/auth.cert
    
    Create registry config conf/registry-srv.yml
    
    version: 0.1    
     
    storage:
      filesystem:
        rootdirectory: /var/lib/registry
        
    http:
      addr: 0.0.0.0:5000   
        
    auth:
      token:
        # external url to docker-web authentication endpoint
        realm: http://localhost:8080/api/auth
        # should be same as registry.name of registry-web
        service: localhost:5000
        # should be same as registry.auth.issuer of registry-web
        issuer: 'my issuer'
        # path to auth certificate
        rootcertbundle: /etc/docker/registry/auth.cert
    
    Start docker registry
    
    	docker run -v $(pwd)/conf/registry-srv.yml:/etc/docker/registry/config.yml:ro 
                -v $(pwd)/conf/auth.cert:/etc/docker/registry/auth.cert:ro -p 5000:5000  --name registry-srv -d registry:2 
    
     Create configuration file conf/registry-web.yml
    
     registry:
      # Docker registry url
      url: http://registry-srv:5000/v2
      # Docker registry fqdn
      name: localhost:5000
      # To allow image delete, should be false
      readonly: false
      auth:
        # Enable authentication
        enabled: true
        # Token issuer
        # should equals to auth.token.issuer of docker registry
        issuer: 'my issuer'
        # Private key for token signing
        # certificate used on auth.token.rootcertbundle should signed by this key
        key: /conf/auth.key
    
     Start registry-web
    
     docker run -v $(pwd)/conf/registry-web.yml:/conf/config.yml:ro 
               -v $(pwd)/conf/auth.key:/conf/auth.key -v $(pwd)/db:/data 
               -it -p 8080:8080 --link registry-srv --name registry-web hyper/docker-registry-web
    
    Web UI will be available on http://localhost:8080 with default admin user/password admin/admin.
    
    
    
    delete images from repository,only deleted the metadata
    添加delete并restart container
    cat /etc/docker/registry/config.yml
    
    version: 0.1
    log:
      fields:
        service: registry
    storage:
      cache:
        blobdescriptor: inmemory
      filesystem:
        rootdirectory: /var/lib/registry
      delete:
        enabled: true
    http:
      addr: :5000
      headers:
        X-Content-Type-Options: [nosniff]
    health:
      storagedriver:
        enabled: true
        interval: 10s
        threshold: 3
    

      

  • 相关阅读:
    tensorflow2.0第1章 Tensorflow简介与环境搭建
    SIGAI机器学习第二十四集 聚类算法1
    SIGAI机器学习第二十三集 高斯混合模型与EM算法
    51nod1429 巧克力
    CTSC2018 Day2T1 Juice混合果汁
    CF1B Spreadsheets
    CF2B The least round way
    【模板】点分治
    【模板】AC自动机
    【模板】网络流-最大流 Dinic
  • 原文地址:https://www.cnblogs.com/gandefeng/p/10183844.html
Copyright © 2011-2022 走看看