基于 docker 的交付,模式,流程及迭代更新模式

容器化部署架构一
1. windows去写代码,因为Windows有很多方便的编辑器,写源码 (java,python)
现在开发都内卷,都要学 docker,
因为 开发 要基于本地提供一个运行环境,去测试代码,可以是 windows 也可以是 linux 环境
第一环境是写源代码
第二环境是构建一个容器环境  容器环境可以基于windows去构建环境,也可以基于linux去构建环境 即windows 环境 支持 docker  或者 linux 环境 支持 docker 
2. 开发自己就可以基于 linux 环境测试代码	构建镜像
开发提供一个代码的运行(部署)环境 因为只有开发知道,需要哪些的环境,代码才可以运行起来
开发要写 Dockerfile脚本,构建项目的运行环境
比如:shell 部署逻辑
a. 基于 centos 的运行环境 或者基于 ubuntu 的运行环境 
b. 部署 jdk 或者部署 python 等
yum install python -y
yum install jdk -y
c. 调整运行配置文件
sed 去修改配置
d. 导入源码
e. 启动程序
java -jar xxx.jar

3.宿主机	基于镜像,运行容器
在本地构建一个(windows,linux 环境支持 docker)容器运行的程序 运行中 172.16.17.3:8080

公司会要求每一个开发都要学docker ,公司 devops 文化  快速开发模式   一个月产品  立项  上线 
(开发,测试,运维) 推进,加速每一个环境通过, 


容器部署架构:
一. docker 生命周期本质 2大要素
二. 镜像构建(环境构建)
三. 基于镜像,运行容器(你的 java 项目进程,跑再这个隔离的容器里)


开发老刘 本地测试好了程序,确认无误


测试 
1. 也要学 docker 如何使用
2. 学 jdk 部署环境
3. centos 部署玩法


基于 docker 的交付,模式,流程


开发要交付什么? Dockerfile
1. 镜像  基于 docker 镜像,彻底解决环境部署难,环境迁移难,环境不一致等问题   发行版
因为源码和环境打包给你,而且打包他还不是  镜像不同与虚拟机模板

虚拟机模板也解决了环境不一致的问题  太重  内核 + 发行版 = 完整的OS(资源利用率不高)
部署出一个个完整的 OS虚拟机  10分钟

docker 镜像只有发行版以及依赖的东西,很小 几百兆了不得 而且可以优化,
以及 docker 容器的内核和宿主机公用
docker 容器是一个轻量级的发布标准
测试环境,部署10个机器(容器) 线上环境部署 30个机器  一条命令 docker run   10s就把应用跑起来了
docker 容器彻底解决了虚拟机部署的难题
docker容器部署是目前 devops 敏捷开发的实施标准 	发布镜像 镜像文件 Dockerfile

容器进程
容器实例

devops 是一种重视软件开发人员和 IT 运维技术人员之间沟通合作的模式  
基于 docker 的交付模式及迭代更新模式
# v1 版本的交付模式
基于 docker 的交付,模式,流程
物料 2 个
1.源码(项目源码  javs python等)
2.Dockerfile (部署运行环境的脚本,普通文件,能用于生成镜像)

开发机器
java Python,golang等源码  上传到 源码共享平台 github等平台 (代码仓库) 搭建 jenkins

测试机器	jenkins--->git pull
Dockerfile

生产机器	jenkins--->git pull
得有一个平台,让多个环境去共享,获取它
1)源码共享平台   

								 --->测试环境 git pull
源码共享平台---代码仓库---jenkins---|  下载(1.源码,2. 镜像)
								 ---> 生产环境 git pull 
目前比较流行的如下几个源码共享平台:
github,
gitlab(美团,知乎),是用 ruby 语言写的一个代码仓库
gitee(码云),
自建代码仓库(gogs 是用 golang 语言写的一个代码仓库)  产出  公司会要求你产出,证明自己价值


2)源码部署

docker 镜像仓库 (公共 docker hub, 私有 docker harbor,docker registry) 
docker 镜像仓库 存储的 dockerfile 构建后的镜像文件

环境部署,交付物料(配置文件,脚本,源码二进制等,)
dockerfile (提供 java 程序运行 jdk 环境,该如何部署 xxx)

3)代码仓库 基于 jenkins 实现源码共享

4)测试环境 下载 源码,镜像  可运行的 java 程序

5)生产环境 下载 源码,镜像  可运行的 java 程序

devops 部署流水线 能实现环境一致性
启动实现 大幅度加快

# v2 版本的迭代模式
基于 docker 后续迭代更新模式,架构模式  v1 版本  v2版本  v3版本
只有开发环境会有大变动,只要开发环境源码变动一下,部署脚本变动一下,但是,一旦提供好了交付物料,测试环境,生产环境就不需要操心,jenkins 可以实现自动部署
几分中就可以完成版本更新

只要开发加班加点修改源码,	20天
测试运维				1天
跟着上线1个月开发测试运维就可以实现新项目上线

 

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值