5.5-DevOps持续交付、环境搭建及实战
作者:互联网
传统模式部署环境:
1.开发写完代码(Java语言)后使用构建工具(Ant,Meven)把代码构建成.war
2.开发把.war发送给运维或测试,运维或测试把.war部署到TOMCAT的WEB容器
3.启动TOMCAT,产品可以访问和测试
4.运维同步开发或测试,反馈环境部署成功可以开始测试
当前模式:
从代码提交到 环境部署,全都都为自动化模式,中间减少人为沟通成本,具体流程如下:
1.开发提交代码到Git,触发Jenkins自动是同构建工具(Ant,Meven)构建.war
2.构建.war成功后,通过ssh服务把.war自动发送到TOMCAT的webapps目录
3.自动启动TOMCAT服务
4.TOMCAT服务启动后通过钉钉(企业微信)自动告诉相关的人,环境部署成功可以测试
技术栈:
Git GitLab Docker Jenkins K8S 云服务器
Docker解决了什么
微服务架构是由顶级架构师提出的新的架构模式,此架构非常具备前瞻性,在落地中由于环境部署的问题不能及时在企业落地,Docker以及K8S容器化编排技术的开发和发展,解决了微服务架构最后一公里的环境部署技术问题
主流编程语言:
Java:企业级主流的语言,阿里巴巴所有产品都是Java
C++:底层开发语言,如操作系统等都是使用C或C++开发,都是高手使用的语言
Python:主流开发语言,最早豆瓣使用,后来互联网公司使用,也是Gooogle四大语言之一
Go:Google发明的语言,被称为21世纪的C语言。Go语言非常优秀,但一直不温不火,随着Goole开发了K8S,Go语言也迅速占据市场。Go语言主要运用于底层微服务容器化开发,业内字节跳动要求测试开发都得具备Go语言基础开发能力
C++:底层开发语言,如操作系统等都是使用C或C++开发,都是高手使用的语言
Net:微软主导的语言,企业级语言
PHP:轻量级语言,适合几个人的研发团队使用,不适合大型研发团队使用
JavaScript:前端核心语言,前端三大框架(Vue,React,AngleJS)均使用JavaScript开发
主流操作系统:
windows linus(Mac使用) unix(所有阿里云服务器大部分都是)
科技公司:谷歌,苹果,微软,Facebook,阿里巴巴,腾讯,百度,Oracle
Docker安装及搭载环境
先建立虚拟管理员身份,以windows powershell管理员身份启动控制台并输入以下三个命令
1.wsl --install
2.dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
3.dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
验证docker环境搭建成功
docker vi森
获取镜像由docker hub获取
1、docker pull imageName
2、在docker hub网站搜索是否存在imageaName
3、存在,就获取下来,不存在,就报错
hello-world镜像名称、版本、ID、时间、大小
docker命令
查看所有镜像:docker images
只获取一个镜像,查看具体镜像:docker images | findstr hello-world
Mac版本命令(docker image | grep hello-world)
显示镜像ID:docker images -q
查看镜像详细信息:docker image inspect imageID
运行镜像:
-it:开启交互式的命令
--rm:容器退出时删除容器的记录信息
--name:指定容器的名称
-d:后台⽅式运⾏容器
例如:docker run --rm hello-world
修改镜像name:docker tag imageID
删除镜像name:docker rmi imageID
获取Linus镜像命令(如下):docker pull centos:7.8.2003
搭建沙河环境(-it:命令行模式)
**docker的镜像被容器运行**
镜像被容器运行,删除镜像的步骤为:
得到容器的ID信息
删除关联的容器ID
nginx:反向代理的中间件,俄罗斯人发明
-p:指定端口(所有的服务,都是有端口的)nginx的默认端口是80
启动nginx;docker run -p 80:80 nginx
查看容器的端口:docker port 93e79f125938
-p :指定运行容器的端口
docker port containerID:查看运行容器的端口
docker ps -a :查看所有运行的容器记录
docker ps -a | grep name
**举例**步骤****
1、运行nginx
2、查看容器的记录
3、在浏览器访问nginx
4、删除nginx的镜像
5、停止nginx的运行
6、删除nginx的容器记录
7、删除nginx的镜像
1.先获取nginx ;docker pull nginx
2.查看它的信息;docker images | findstr nginx
3.运行nginx; run -p 80:80 nginx
这时打开另一个控制台
(1)查看容器信息;docker images | findstr nginx
(2)运行;docker ps -a | findstr nginx
再查看所有运行的容器记录;docker ps -a |findstr nginx
最后(先把容器清空再删除镜像)
总结具体步骤
1、先获取镜像;docker imags |findstr nginx
2、停止镜像;docker stop 复制要停止镜像的ID
3、查询当前容器记录;docker ps -a
4、停止容器;docker stop ID数字
5、删除容器记录;docker rm ID数字
6、删除镜像;docker rmi nginx
容器的停止和启动
docker stop containerID
docker start containerID
导入导出的场景:
1、比如开发在本地构建一个镜像
2、开发导出
3、把文件发送给测试
4、测试导入到docker
5、测试运行镜像,环境OK,开始测试
步骤
导入:先cd--》Desktop进入桌面回车
在输入docker image load -i nginx.taz
导出:docker image save 被导出的镜像名称-o 镜像储存位置|文件名称
标签:语言,容器,5.5,DevOps,nginx,开发,镜像,docker,搭建 来源: https://www.cnblogs.com/yvonnej/p/16225552.html