### 1. 私有镜像仓库部署 #### 1.1 拉取镜像 ```bash docker pull registry ``` #### 1.2 设置https ##### 1.2.1 创建证书 ```bash openssl req -newkey rsa:4096 -nodes -sha256 -keyout /opt/registry/certs/registry.key -x509 -days 365 -out /opt/registry/certs/registry.crt ``` ##### 1.2.2 创建密码文件 ```bash htpasswd -Bbn Securitit 123456 > /opt/registry/auth/htpasswd ``` ##### 1.2.3 创建registry config 文件 ```yaml version: 0.1 log: fields: service: registry storage: cache: blobdescriptor: inmemory filesystem: rootdirectory: /var/lib/registry http: addr: :5000 headers: X-Content-Type-Options: [nosniff] Access-Control-Allow-Origin: ['*'] Access-Control-Allow-Methods: ['*'] Access-Control-Max-Age: [1728000] health: storagedriver: enabled: true interval: 10s threshold: 3 ``` ##### 1.2.4 使用ssl 启动容器 ```bash docker run -d \ --name registry \ -p 5000:5000 \ --restart=always \ --privileged=true \ -e "REGISTRY_AUTH=htpasswd" \ -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \ -v /opt/registry/auth/:/opt/registry/auth \ -e "REGISTRY_AUTH_HTPASSWD_PATH=/opt/registry/auth/htpasswd" \ -v /opt/registry/certs/:/opt/registry/certs \ -v /opt/registry/config/config.yml:/etc/docker/registry/config.yml \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/opt/registry/certs/registry.crt \ -e REGISTRY_HTTP_TLS_KEY=/opt/registry/certs/registry.key \ registry ``` ### 2. 镜像仓库web管理 ```bash docker run -d -p 8080:80 \ --name registry-ui \ --restart=always \ --privileged=true \ -e "REGISTRY_TITLE=Sunqi Docker" \ -e "REGISTRY_URL=https://192.168.0.3:5000" \ joxit/docker-registry-ui:latest ```