红帽PASS平台是怎么生成Docker image 的
来源:互联网 发布:淘宝爆款穿的丢人吗 编辑:程序博客网 时间:2024/04/29 17:40
大家对K8s应该都很熟悉,openshift是基于k8s的一款开源的PASS平台,k8s能够对容器进行编排,运行container,而生成docker image是一项必须的工作,常用的制作docker image 的方式,一个是大家可以写Dockerfile,然后用docker build 生成image, 另一个就是运行一个base container 然后在container 完成修改,最后将commit container 生成image,对于开发人员来说,无论是写dockerfile还是后者,都是需要学习成本的,那么Openshift针对如何生成docker image有一套成熟的方案。
Openshift目前支持3种Build类型,详细可查询文档 :
1. Source to image
这个方式,就是开发人员不需要写dockerfile,针对每一种开发语言openshift都有对应的builder image,每一个builder image包括最少两个脚本,一个是assemble ,完成代码编译工作,一个run用来作为image运行脚本,build的时候会用builder image启动一个container,在container 里完成代码编译生成可运行的文件,然后将container commit掉,生成可以运行的image,assemble会控制装配image的整个流程,Openshift是通过将source code 以stream的方式attach到container,需要builder image有tar package,若果没有,openshift 检测到后会采取layer build 的形式,生成一个Dockerfile,参用docker build,此外,社区还有许多image,通过onbuild的指令完成image生成,openshift同样对这些image做了兼容,具体流程请阅读源码。
2. Docker build
就是需要自己写Dockerfile了
3. Custom build
这个就是说客户科技自己定义build 逻辑,完成image的生成。详细参考https://github.com/openshift/o ... ilder
Openshift Build是围绕BuildConfig template完成对build的定义,每种类型的BuildConfig定义大家都可以在https://github.com/openshift/o ... e-app 找到,欢迎大伙儿使用Openshift。
Openshift目前支持3种Build类型,详细可查询文档 :
1. Source to image
这个方式,就是开发人员不需要写dockerfile,针对每一种开发语言openshift都有对应的builder image,每一个builder image包括最少两个脚本,一个是assemble ,完成代码编译工作,一个run用来作为image运行脚本,build的时候会用builder image启动一个container,在container 里完成代码编译生成可运行的文件,然后将container commit掉,生成可以运行的image,assemble会控制装配image的整个流程,Openshift是通过将source code 以stream的方式attach到container,需要builder image有tar package,若果没有,openshift 检测到后会采取layer build 的形式,生成一个Dockerfile,参用docker build,此外,社区还有许多image,通过onbuild的指令完成image生成,openshift同样对这些image做了兼容,具体流程请阅读源码。
2. Docker build
就是需要自己写Dockerfile了
3. Custom build
这个就是说客户科技自己定义build 逻辑,完成image的生成。详细参考https://github.com/openshift/o ... ilder
Openshift Build是围绕BuildConfig template完成对build的定义,每种类型的BuildConfig定义大家都可以在https://github.com/openshift/o ... e-app 找到,欢迎大伙儿使用Openshift。
0 0
- 红帽PASS平台是怎么生成Docker image 的
- docker学习 主流的pass平台(体验的是设计模式)
- Docker 的 Image 太大,怎么变小?
- 诺基亚手机是怎么分平台的?
- 开放api接口平台都会有appid、appkey、appsecret,这几个参数都有什么用,是怎么生成的?
- Android的apk文件是怎么怎么生成的?
- 红帽发布新的开源SOA部署平台
- 红帽发布新的开源SOA部署平台
- docker创建自己的image
- docker image删不掉的问题
- MQ是怎么存放消息的[windows平台]
- 平台是怎么搭起来的(写在前面的话)
- 平台是怎么搭起来的(一)
- 平台是怎么搭起来的(二)
- 平台是怎么搭起来的(三)
- 平台是怎么搭起来的(四)
- 平台设备和驱动是怎么匹配的?
- Image的生成过程
- Window和WindowManager
- 使用nvm管理node
- 炸金花-模拟输赢概率计算程序01
- Adroid性能优化--启动页优化
- this和super用法总结
- 红帽PASS平台是怎么生成Docker image 的
- cron表达式详解
- iOS 报错信息: dyld: Library not loaded: @rpath/XCTest.framework/XCTest Referenced framework
- 15级楼梯,一步最多三级,爬上楼梯可以有多少种走法实现(js递归实现)
- The Linux Programming Interface 笔记之malloc和free的实现
- MATLAB基础语法教程(快乐简易语法学)第一部分
- 拯救红米note3砖头
- Android程序签名文件
- Js数组总结