北京建设银行招聘网站,建设部网站查询造价师证件,站点推广是什么意思,wordpress 二级链接Docker Registry以及Docker-Registry-UI部署 前言一、下载镜像并启动1.1 docker快速启动1.2 docker-compose启动 二、查看registry版本三、上传镜像到registry四、删除镜像4.1 配置registry允许删除镜像4.2 删除镜像4.2.1 命令删除4.2.2 Registry管理界面删除 前言 部署Docker…Docker Registry以及Docker-Registry-UI部署前言一、下载镜像并启动1.1 docker快速启动1.2 docker-compose启动二、查看registry版本三、上传镜像到registry四、删除镜像4.1 配置registry允许删除镜像4.2 删除镜像4.2.1 命令删除4.2.2 Registry管理界面删除前言部署Docker Registry之前先部署Docker参考Docker、Docker Compose部署Docker-Registry-UIRegistry管理界面github项目地址https://github.com/Joxit/docker-registry-ui一、下载镜像并启动# 注意V3和V2版本对应的配置文件路径不一致# 下载最新版本镜像目前是V3版本dockerpull registry# 下载V2版本镜像2.8.3版本dockerpull registry:2# 下载Registry管理界面镜像不需要界面则不需要下载该镜像dockerpull joxit/docker-registry-ui:main# 创建数据目录mkdir/opt/registry/data1.1 docker快速启动# 启动registrydockerrun -d -p5000:5000\--nameregistry\--restartalways\-v /opt/registry/data:/var/lib/registry\# 启用删除功能V3版本配置文件默认开启可以不需要配置V2版本需要删除功能就需要开启或者修改配置文件开启-eREGISTRY_STORAGE_DELETE_ENABLEDtrue\# 如果需要启动Registry管理界面需要如下配置-e REGISTRY_HTTP_HEADERS_Access-Control-Allow-Origin[http://192.168.1.114:5001]\-e REGISTRY_HTTP_HEADERS_Access-Control-Allow-Methods[HEAD,GET,OPTIONS,DELETE]\-e REGISTRY_HTTP_HEADERS_Access-Control-Allow-Credentials[true]\-e REGISTRY_HTTP_HEADERS_Access-Control-Allow-Headers[Authorization,Accept,Cache-Control]\-e REGISTRY_HTTP_HEADERS_Access-Control-Expose-Headers[Docker-Content-Digest]\registry# 启动Registry管理界面dockerrun -d -p5001:80\--name registry-ui\--restartalways\--envSINGLE_REGISTRYtrue\--envREGISTRY_TITLEDocker Registry UI\--envREGISTRY_URLhttp://192.168.1.114:5000\--envDELETE_IMAGEStrue\--envSHOW_CONTENT_DIGESTtrue\--envSHOW_CATALOG_NB_TAGStrue\--envTAGLIST_PAGE_SIZE100\--envCATALOG_ELEMENTS_LIMIT1000\--envREGISTRY_SECUREDfalse\joxit/docker-registry-ui:main ·SINGLE_REGISTRYtrue# trueUI只连接一个Docker Registryfalse可以配置多个Registry·REGISTRY_TITLEDocker Registry UI# UI标题·REGISTRY_URLhttp://192.168.1.114:5000# Docker Registry 的地址·DELETE_IMAGEStrue# 允许用户在UI中删除镜像·SHOW_CONTENT_DIGESTtrue# 在UI中显示内容摘要digest·SHOW_CATALOG_NB_TAGStrue# 在UI中显示每个镜像的标签数量·TAGLIST_PAGE_SIZE100# 设置标签列表的页面大小为100控制每页显示的标签数量·CATALOG_ELEMENTS_LIMIT1000# 设置目录元素的限制为1000控制在UI中显示的最大元素数量·REGISTRY_SECUREDfalse# falseDocker Registry不使用HTTPStrueRegistry使用HTTPS1.2 docker-compose启动# 创建 docker-compose.ymlcd/opt/registryvimdocker-compose.yml version:3.8services: registry: image: registry container_name: registry restart: always ports: -5000:5000volumes: - /opt/registry/data:/var/lib/registry environment:# 启用删除功能V3版本配置文件默认开启可以不需要配置V2版本需要删除功能就需要开启或者修改配置文件开启REGISTRY_STORAGE_DELETE_ENABLED:true# 如果需要启动Registry管理界面需要如下配置REGISTRY_HTTP_HEADERS_Access-Control-Allow-Origin:[http://192.168.1.114:5001]REGISTRY_HTTP_HEADERS_Access-Control-Allow-Methods:[HEAD,GET,OPTIONS,DELETE]REGISTRY_HTTP_HEADERS_Access-Control-Allow-Credentials:[true]REGISTRY_HTTP_HEADERS_Access-Control-Allow-Headers:[Authorization,Accept,Cache-Control]REGISTRY_HTTP_HEADERS_Access-Control-Expose-Headers:[Docker-Content-Digest]# Registry管理界面registry-ui: image: joxit/docker-registry-ui:main container_name: registry-ui restart: always ports: -5001:80 environment:# trueUI只连接一个Docker Registryfalse可以配置多个Registry-SINGLE_REGISTRYtrue# UI标题-REGISTRY_TITLEDocker Registry UI# Docker Registry 的地址-REGISTRY_URLhttp://192.168.1.114:5000# 允许用户在UI中删除镜像-DELETE_IMAGEStrue# 在UI中显示内容摘要digest-SHOW_CONTENT_DIGESTtrue# 在UI中显示每个镜像的标签数量-SHOW_CATALOG_NB_TAGStrue# 设置标签列表的页面大小为100控制每页显示的标签数量-TAGLIST_PAGE_SIZE100# 设置目录元素的限制为1000控制在UI中显示的最大元素数量-CATALOG_ELEMENTS_LIMIT1000# falseDocker Registry不使用HTTPStrueRegistry使用HTTPS-REGISTRY_SECUREDfalse# 启动服务docker-composeup -d二、查看registry版本# 查看registry版本docker exec -it container-name registry --versiondockerexec-it registry registry --version# V3版本输出registry github.com/distribution/distribution/v3 3.0.0# V2版本输出registry github.com/docker/distribution 2.8.3三、上传镜像到registryvim/etc/docker/daemon.json# 添加安全访问权限{insecure-registries:[http://192.168.1.114:5000]}# 重启Dockersystemctl restartdocker# 登录registry仓库dockerlogin192.168.1.114:5000# docker下载nginx镜像并上传到registrydockerpull nginxdockertag nginx:latest192.168.1.114:5000/nginx:latestdockerpush192.168.1.114:5000/nginx:latest# 查看 repository 列表curlhttp://192.168.1.114:5000/v2/_catalog# 查看镜像 tag 列表http://ip:5000/v2/image_name/tags/listcurlhttp://192.168.1.114:5000/v2/nginx/tags/list四、删除镜像注通过Docker-Registry-UI页面删除镜像也需要手动进行垃圾回收释放存储空间4.1 配置registry允许删除镜像如果registry启动时添加了环境变量启用删除功能REGISTRY_STORAGE_DELETE_ENABLEDtrue则忽略此步骤# 查找配置文件# V3版本配置文件路径/etc/distribution/config.yml# V2版本配置文件路径/etc/docker/registry/config.ymldockerexec-it registryfind/ -nameconfig.yml# 进入容器内部dockerexec-it registry /bin/sh# V3版本# 查看storage.delete.enabled: true是否配置默认已配置cat/etc/distribution/config.yml version:0.1log: level: debug fields: service: registry environment: development storage: delete: enabled:truecache: blobdescriptor: inmemory filesystem: rootdirectory: /var/lib/registry tag: concurrencylimit:5http: addr: :5000 debug: addr: :5001 prometheus: enabled:truepath: /metrics health: storagedriver: enabled:trueinterval: 10s threshold:3# V2版本# 添加storage.delete.enabled: true默认未配置vi/etc/docker/registry/config.yml version:0.1log: fields: service: registry storage: delete: enabled:true# 添加cache: blobdescriptor: inmemory filesystem: rootdirectory: /var/lib/registry http: addr: :5000 headers: X-Content-Type-Options:[nosniff]health: storagedriver: enabled:trueinterval: 10s threshold:3# 重启registry容器dockerrestart registry# 如果使用docker compose启动则使用docker-compose restart重启#docker-compose restart4.2 删除镜像4.2.1 命令删除# 查询要删除镜像taghttp://192.168.1.114:5000/v2/image_name/tags/listcurlhttp://192.168.1.114:5000/v2/nginx/tags/list# 查询镜像的DigestGET http://ip:5000/v2/image_name/manifests/tag# 必须在 Header 中指定 Accept 为 v2 格式否则可能获取到错误的 Digest。curl--headerAccept: application/vnd.docker.distribution.manifest.v2json-I -X GET http://192.168.1.114:5000/v2/nginx/manifests/latest# 输出如下HTTP/1.1200OK Content-Length:1778Content-Type: application/vnd.docker.distribution.manifest.v2json Docker-Content-Digest: sha256:a6dd519f4cc2f69a8f049f35b56aec2e30b7ddfedee12976c9e289c07b421804 Docker-Distribution-Api-Version: registry/2.0 Etag:sha256:a6dd519f4cc2f69a8f049f35b56aec2e30b7ddfedee12976c9e289c07b421804Date: Mon,26Jan202617:24:49 GMT# 调用registry接口删除镜像curl-I -X DELETE http://192.168.1.114:5000/v2/nginx/manifests/sha256:a6dd519f4cc2f69a8f049f35b56aec2e30b7ddfedee12976c9e289c07b421804# 输出如下HTTP/1.1202Accepted Docker-Distribution-Api-Version: registry/2.0 Date: Tue,27Jan202609:35:07 GMT Content-Length:0# 执行垃圾回收释放存储空间docker exec -it 镜像仓库容器ID/名称 /bin/registry garbage-collect 镜像仓库配置文件# V3版本dockerexec-it registry bin/registry garbage-collect /etc/distribution/config.yml# V2版本dockerexec-it registry bin/registry garbage-collect /etc/docker/registry/config.yml4.2.2 Registry管理界面删除# 执行垃圾回收释放存储空间docker exec -it 镜像仓库容器ID/名称 /bin/registry garbage-collect 镜像仓库配置文件# V3版本dockerexec-it registry bin/registry garbage-collect /etc/distribution/config.yml# V2版本dockerexec-it registry bin/registry garbage-collect /etc/docker/registry/config.yml