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

兰州网站建设价/品牌运营

兰州网站建设价,品牌运营,哈尔滨网站建设开发外包,app首页设计效果图Docker将容器化技术普及,推动云计算向云原生的演进。Docker的核心创新技术之一是容器镜像,它是一种文件的打包方式,将应用程序运行的操作系统、库、运行环境等依赖全部打包一起。在其他任意环境,只要可以运行docker服务&#xff0…

图片

Docker将容器化技术普及,推动云计算向云原生的演进。Docker的核心创新技术之一是容器镜像,它是一种文件的打包方式,将应用程序运行的操作系统、库、运行环境等依赖全部打包一起。在其他任意环境,只要可以运行docker服务,就可以基于该镜像运行容器,即业务程序。

与GitHub托管代码的定位类似,Docker Hub 是一个开放性的容器镜像托管平台。由于其是最早的在线镜像存储和分发的平台,绝大多数的开源项目镜像都在该平台上托管。

容器镜像本质还是对文件的一种组织管理方式,具有传播数据和信息的能力,因此对于其分发的文件内容需要符合地方的法律法规,在没有完成合规的要求前应该无法直接面向国内提供服务。

鉴于DockerHub是绝对权威和全面的容器镜像托管平台,无法使用托管在该平台上优质的镜像,绝对是国内信息科技业的重大损失。

一种简单合规的镜像同步到国内方案

该方案核心是基于 GitHub Action功能,通过触发Action流水线执行容器镜像的拉取和推送。(GitHub目前可访问:Github是否在调试和预演封禁中国IP用户?我们又该怎样应对?)

藏云阁 ImageToTo 开源项目(https://gitea.cncfstack.com/cncfstack/imagetoto)就是该方案的实现,大家也可以通过提交issue或在论坛,或微信群反馈需要同步的镜像,合并 push 时就会自动同步。

ImageToTo项目核心代码只有 Action 中的 10 来行代码。

源代码如下:


name: imageToTo
on:push:branches: [ "main" ]workflow_dispatch:
jobs:build:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v4- name: Run a multi-line scriptrun: |sudo docker login  --username=${{ secrets.HARBOR_USER }} --password=${{ secrets.HARBOR_PWD }} harbor.cloud.cncfstack.comfor img in `cat image.list`dosudo docker pull $imgif [ $? -ne 0 ];thenecho "pull error $img" >>  tmpfilecontinuefisudo docker tag $img harbor.cncfstack.com/$imgsudo docker push harbor.cncfstack.com/$imgdoneif [ -f tmpfile ];thencat tmpfilefi

源代码的逻辑

  1. 登陆国内镜像仓库

  2. 用Github Action流水线 docker pull 拉取镜像

  3. 通过 docker tag 将镜像tag修改为国内镜像仓库的地址信息

  4. 执行 docker push 将镜像推送到国内镜像仓库。

这个项目在配置时有两点需要注意,image.list 文件中填写 DockerHub 的镜像完整地址和国内镜像仓库的密码安全保密问题。

关于image.list 文件中填写 DockerHub 的镜像完整地址,主要是考虑项目的兼容性,因为到目前为止实际上已经有多个镜像托管平台了,如 Google 的gcr.io,Github的 ghcr.io ,以及一些开源项目自建的镜像仓库。

# cat image.list 
docker.io/library/nginx:1.26

另外一个需要注意的就是国内镜像仓库的账号和密码需要保密,这是通过Github的 secrets 配置管理的。

#组织或项目settings
->settings->security->secrets and variables->Actions->secrets

配置后只能通过Action执行流水线时读取使用,用户在管理页面和流水线日志中都无法查看该 secret 内容信息。配置示例:

图片

在项目的 Action 文件中使用如下语法应用

--password=${{ secrets.HARBOR_PWD }}

通过在 image.list 中添加镜像地址列表,执行 push 后在国内的镜像仓库中就可以查看和使用了。

如图是国内 Harbor 的日志信息,说明镜像已经成功推送过来了。

图片

在使用时,只需要在镜像前面添加国内镜像仓库地址即可拉取镜像

docker pull harbor.cncfstack.com/docker.io/library/nginx:1.26

图片

关于国内镜像仓库的选择

镜像仓库可以选择公有云的“容器镜像服务”,开箱即用。但是在实际使用时“个人免费版本”无法使用完整功能,会有很多限制。

最无法接受的就是“多级仓库目录”无法使用,该功能限制会直接导致脚本兼容性极差。

图片

所以,经过分析评估还是选择基于开源 Harbor 搭建企业私有的容器镜像仓库相对合适。当然,如果企业有采购公有云的容器镜像仓库服务企业版本,也是可以的。

使用 Harbor 搭建的镜像仓库可以创建很多不同的项目来区分不同镜像托管平台,也没有目录层级等限制,如图示例

图片

关于 Harbor 仓库的安装部署实际非常简单,后续的文章会进行快捷部署的介绍。

http://www.lryc.cn/news/580966.html

相关文章:

  • 正在备案怎么建网站/国外常用的seo站长工具
  • 用帝国cms做视频网站/网站推广平台搭建
  • 网站gbk 和utf8/公司关键词排名优化
  • 文档里网站超链接怎么做/域名解析查询工具
  • 如何做内网站的宣传栏/免费优化网站
  • 查网站备案信息/快手seo关键词优化
  • 石景山老山网站建设/如何开网店
  • 2016广州网站设计公司/镇江百度公司
  • 衢州做外贸网站的公司/辽阳网站seo
  • 网站创作/如何创建网站教程
  • 做电商网站需要会些什么条件/搜索引擎简称seo
  • 驰够网官方网站/网络营销策划书封面
  • 柳州网站建设公司/网站联盟营销
  • 做网站用什么cms 知乎/百度新闻首页
  • 达州网站建设qinsanw/数据分析网
  • 嵩县网站开发/网站优化课程培训
  • 唐山做企业网站/北京优化网站方法
  • 网页网站怎么做/新东方
  • 谷歌网站 百度/网络营销知名企业
  • 建国外网站/山西太原网络推广
  • 小程序制作需要什么/如何做好seo基础优化
  • 深圳云购网站制作/seo优化神器
  • 做的网站百度上可以搜到吗/全国疫情的最新数据
  • 营销型网站建设明细报价表/百度霸屏全网推广
  • 手机设计软件平面设计/网站优化网
  • 免费建设自己的网站/广州企业网站建设
  • 成都网站设计平台/本地推广最有效的方法
  • 哪些网站的做的好看的图片/惠州seo推广优化
  • 做b2b网站/中国免费网站服务器主机域名
  • 扬州手机网站建设/seo诊断书