当前位置: 首页 > wzjs >正文

企业网站建设既可以外包给专业的网站建设服务公司网络营销最火的案例

企业网站建设既可以外包给专业的网站建设服务公司,网络营销最火的案例,网站信息向上滚动标签,建网站需要了解什么文章目录 registry-clean1. 简介2. 功能3. 安装 docker4. 配置 docker5. 配置域名解析6. 部署 registry7. Registry API 管理8. 批量清理镜像9. 其他10. 参考 registry-clean 1. 简介 registry-clean 是一个强大而高效的解决方案,旨在简化您的 Docker 镜像仓库管理…

在这里插入图片描述

文章目录

  • registry-clean
    • 1. 简介
    • 2. 功能
    • 3. 安装 docker
    • 4. 配置 docker
    • 5. 配置域名解析
    • 6. 部署 registry
    • 7. Registry API 管理
    • 8. 批量清理镜像
    • 9. 其他
    • 10. 参考

registry-clean

1. 简介

registry-clean 是一个强大而高效的解决方案,旨在简化您的 Docker 镜像仓库管理。通过 registry-clean,您可以轻松批量删除过时或不必要的镜像,确保您的仓库保持有序并优化性能。该脚本直观易用,使用户能够轻松管理镜像生命周期,为快节奏的开发环境提供安心。通过 registry-clean 提升您的 Docker 仓库管理体验。

2. 功能

  • 处理不同类型的镜像: 可以删除带有项目名称的镜像、多个标签的镜像以及不存在的镜像。
  • 安全删除: 脚本会先检查镜像是否存在,避免误删。
  • 垃圾回收: 脚本执行完成后会进行垃圾回收,释放磁盘空间。

3. 安装 docker

在开始之前,请确保已安装 Docker 并正确配置。

  • docker 安装

4. 配置 docker

$ cat /etc/docker/daemon.json 
{"exec-opts": ["native.cgroupdriver=systemd"],"insecure-registries": ["registry.ghostwritten.com"],"live-restore": true,"log-driver": "json-file","log-opts": {"max-size":  "100m","max-file": "5"}}

如果需要使用代理,请修改 /usr/lib/systemd/system/docker.service.d/proxy.conf 文件:

$ cat /usr/lib/systemd/system/docker.service.d/proxy.conf 
[Service]
Environment="HTTP_PROXY=http://192.168.21.101:7890"
Environment="HTTPS_PROXY=http://192.168.21.101:7890"
Environment="NO_PROXY=localhost,127.0.0.1,.coding.net,.tencentyun.com,.myqcloud.com,*.bsgchina.com"

配置完成后,运行以下命令使更改生效:


$ systemctl daemon-reload && systemctl restart docker

5. 配置域名解析

为了访问私有镜像仓库 registry.ghostwritten.com,需要配置域名解析。

服务器端 (192.168.21.25) 配置: 修改 /etc/unbound/unbound.conf 文件,添加以下内容 (请根据实际情况调整 IP 地址):

$ cat  /etc/unbound/unbound.conf
...local-data: "registry.ghostwritten.com A 192.168.21.25"local-data-ptr: "192.168.21.25 registry.ghostwritten.com"
....

然后重启 Unbound 服务:

$ systemctl restart unbound

客户端配置: 确保客户端的 /etc/resolv.conf 文件指向正确的 DNS 服务器 (例如你的服务器 192.168.21.2):

$ cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 192.168.21.2

6. 部署 registry

使用以下命令部署 Docker Registry,并启用镜像删除功能:

$ docker run -tid --restart=always --name registry -p 80:5000 -e REGISTRY_COMPATIBILITY_SCHEMA1_ENABLED=true -e REGISTRY_STORAGE_DELETE_ENABLED=true -v /data/registry:/var/lib/registry registry:latest

注意: /data/registry 目录需要预先创建,并确保 Docker 容器具有写入权限。

7. Registry API 管理

Docker Registry 提供了 RESTful API 用于管理镜像。以下是一些示例:

  • 列出镜像标签:

$ curl  -q -s   'http://registry.ghostwritten.com/v2/registry/tags/list' | jq .
{"name": "registry","tags": ["latest"]
}
  • 获取镜像清单:
$ curl -I -X GET  'http://registry.ghostwritten.com/v2/registry/manifests/latest'
HTTP/1.1 200 OK
Content-Length: 6863
Content-Type: application/vnd.docker.distribution.manifest.v1+prettyjws
Docker-Content-Digest: sha256:f538bbbf8ff45e9872789dfcfbbcd48a44a9c87d21324595efb4df2e6b666c8c
Docker-Distribution-Api-Version: registry/2.0
Etag: "sha256:f538bbbf8ff45e9872789dfcfbbcd48a44a9c87d21324595efb4df2e6b666c8c"
X-Content-Type-Options: nosniff
Date: Wed, 18 Sep 2024 09:02:51 GMT
  • 删除镜像 (使用镜像摘要): 直接使用标签删除镜像可能失败,需要使用镜像摘要进行删除。 首先,使用 docker inspect 命令获取镜像摘要:
$ curl -I -X DELETE  http://registry.ghostwritten.com/v2/registry/manifests/latest
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
Docker-Distribution-Api-Version: registry/2.0
X-Content-Type-Options: nosniff
Date: Wed, 18 Sep 2024 08:58:49 GMT
Content-Length: 98#获取ID
$ docker inspect registry.ghostwritten.com/registry:latest | jq -r '.[0].RepoDigests[]' |grep registry.ghostwritten.com | awk -F '@' '{print $2}'
sha256:4d2514be50520c34f3b207fc03dd734a9b72403624d8572f8c40e9185575e453$ curl -I -X GET  'http://registry.ghostwritten.com/v2/registry/manifests/sha256:4d2514be50520c34f3b207fc03dd734a9b72403624d8572f8c40e9185575e453'
HTTP/1.1 200 OK
Content-Length: 1363
Content-Type: application/vnd.docker.distribution.manifest.v2+json
Docker-Content-Digest: sha256:4d2514be50520c34f3b207fc03dd734a9b72403624d8572f8c40e9185575e453
Docker-Distribution-Api-Version: registry/2.0
Etag: "sha256:4d2514be50520c34f3b207fc03dd734a9b72403624d8572f8c40e9185575e453"
X-Content-Type-Options: nosniff
Date: Wed, 18 Sep 2024 09:12:51 GMT$ curl -I -X DELETE  'http://registry.ghostwritten.com/v2/registry/manifests/sha256:4d2514be50520c34f3b207fc03dd734a9b72403624d
8572f8c40e9185575e453'
HTTP/1.1 202 Accepted
Docker-Distribution-Api-Version: registry/2.0
X-Content-Type-Options: nosniff
Date: Wed, 18 Sep 2024 09:12:59 GMT
Content-Length: 0$ curl   -s   'http://registry.ghostwritten.com/v2/_catalog' | jq .
{"repositories": ["library/busybox","registry"]
}$ curl  -q -s   'http://registry.ghostwritten.com/v2/registry/tags/list' | jq .
{"name": "registry","tags": null
}$ rm -rf  /data/registry/docker/registry/v2/repositories/registry
$ curl -q -s http://registry.ghostwritten.com/v2/_catalog | jq .
{"repositories": ["library/busybox"]
}

推送镜像

$ docker push registry.ghostwritten.com/registry:latest
The push refers to repository [registry.ghostwritten.com/registry]
3715a40eaff0: Layer already exists 
e48d56ef719d: Layer already exists 
1670fc7fdd22: Layer already exists 
f3965cc04390: Layer already exists 
d62a02444d39: Layer already exists 
latest: digest: sha256:4d2514be50520c34f3b207fc03dd734a9b72403624d8572f8c40e9185575e453 size: 1363

查询镜像标签

$ curl  -q -s   'http://registry.ghostwritten.com/v2/registry/tags/list' | jq .
{"name": "registry","tags": ["latest"]
}

8. 批量清理镜像

首先,这是一个清理的演示,先批量推送镜像入库。未来应对可能存在各类情况。

  • 有没有项目名的镜像
  • 多个标签的镜像
$ cat registry-images-push.sh
docker push  registry.ghostwritten.com/demo/nginx:1.26
docker push  registry.ghostwritten.com/demo/nginx:latest
docker push registry.ghostwritten.com/library/busybox:1.36.1
docker push registry.ghostwritten.com/registry:latest
docker push registry.ghostwritten.com/library/busybox:1.35.0

推送镜像入库。

$ sh registry-images-push.sh

要删除的镜像我们存放到 registry-images-clean.txt 文件中。我们会检验以下几类删除场景。

  • 删除有个多个标签的镜像检验是否会误删除;
  • 删除没有项目名的镜像;
  • 删除不存在的镜像。
$ cat registry-images-clean.txt
registry.ghostwritten.com/library/busybox:1.36.1
registry.ghostwritten.com/registry:latest
registry.ghostwritten.com/demo/nginx:1.26
registry.ghostwritten.com/demo/nginx:noexist

registry-images-clean.sh 脚本用于批量删除 Docker 镜像。 该脚本支持两种操作模式:ls (列出镜像) 和 rm (删除镜像)。

使用方法:

  1. 创建 registry-images-clean.txt 文件: 在文件中列出需要删除的镜像,每行一个镜像名称 (例如:registry.ghostwritten.com/library/busybox:1.36.1)。

  2. 运行脚本:

    • 列出镜像:./registry-images-clean.sh ls
    • 删除镜像:./registry-images-clean.sh rm

首先,检查当前registry镜像仓库有哪些镜像。

$ sh registry-images-clean.sh ls
registry.ghostwritten.com 镜像仓库列表:demo/nginx:latestdemo/nginx:1.26library/busybox:1.35.0library/busybox:1.36.1registry:latest
registest.bsgchina.com 镜像仓库是空库.

现在,我们开始删除 registry-images-clean.txt 的镜像。

$  registry-images-clean.sh rm
镜像 library/busybox:1.36.1 存在,准备删除...
镜像 registry:latest 存在,准备删除...
镜像 demo/nginx:1.26 存在,准备删除...
镜像 registry.ghostwritten.com/demo/nginx:noexist 不存在。
镜像 demo/nginx:noexist 存在,准备删除...

执行结束后,再次检查镜像仓库列表。

sh registry-images-clean.sh ls
registry.ghostwritten.com 镜像仓库列表:demo/nginx:latestlibrary/busybox:1.35.0
registest.bsgchina.com 镜像仓库是空库.

9. 其他

  • 除了通过API 查看registry镜像列表,你可以部署一个 registry UI 查看镜像。
  • 另外,当你想要迁移一套具有自己镜像介质的镜像仓库。你可以参考这篇不需要推拉镜像的镜像仓库迁移教程。

10. 参考

  • Open Container Initiative Distribution Specification
  • https://docs.docker.com/registry/#introduction
http://www.dtcms.com/wzjs/160391.html

相关文章:

  • 西安网站优化指导建设企业网站多少钱
  • 合肥怎么做网站百度关键词购买
  • 做公众号一般在哪个网站照片link友情买卖
  • 建设网站怎么做如何做好网站推广优化
  • 做58同城网站可靠么上海搜索引擎推广公司
  • 哈尔滨h5建站模板做百度推广怎么做才能有电话
  • python 做网站专业软文发布平台
  • 广州抖音推广公司茂名seo快速排名外包
  • 做网站服务器 自己电脑还是租百度seo排名培训优化
  • 中国装饰公司营销型网站建设seo网站
  • 如何在网上销售seo专员很难吗
  • 现在怎么做动态网站百度百科合作模式
  • 西城区网站建设推广seo优化大师免费下载安装
  • 微信怎么做网站推广关于seo的行业岗位有哪些
  • 温州网吧什么时候恢复营业福州百度推广排名优化
  • 鞍山网站开发seo网站推广优化论文
  • 网站开发的论文题目网络营销的四个策略
  • 哪里查网站备案信息口碑营销的概念是什么
  • seo网站营销公司有趣软文广告经典案例
  • 怎么做简单的网站seo点击排名工具有用吗
  • 个人网站 怎么备案广东宣布即时优化调整
  • 自适应网站开发书籍seo点击
  • 长春长春网站建设网服务器域名查询
  • 什么网站有做册子版百度收录快的发帖平台
  • 宝安专业手机网站设计公司优化公司
  • 怎么做网站搜索引擎优化新浪微博指数查询
  • 专业的培训行业网站开发郑州seo网站排名
  • 手机网站开通微信支付沈阳优化网站公司
  • wordpress页眉页脚seo搜索引擎优化公司
  • 聊城集团网站建设百度站长收录