Docker 5.6
传统模式部署环境:
1、开发写代码(java语言),写完代码后使用构建工具(Ant,Maven),把代码构建成一个.war
2、然后开发把这个包发送给运维(或者测试)然后运维把.war部署到TOMCAT的WEB容器
3、启动TOMCAT,然后产品就可以访问已经可以测试了
4、运维同步开发或者测试,反馈环境部署已经部署ok,可以开始测试
现在模式部署环境:
从代码提交到环境部署,全部都是自动化测试的模式,中间减少了人为的沟通成本,这个模式的流程总结如下:
1、开发提交代码到Git,触发JenKins自动使用构建工具(Ant,Mabven)来构建成.war
2、构建.war成功后,通过ssh服务把.war自动的发送到TOMCAT的webapps目录
3、自动的启动TOMCAT的服务
4、TOMCAT服务启动成功后,通过钉钉企业微信自动告诉给相关的人,部署环境已经完成,可以开始测试。
技术栈
Git,GitLab,Docker,Jenkins,K8S,云服务器
Docker解决了什么?
微服务架构最初是由几个顶级的架构师提出来的一种新的架构模式,但是这个新的架构模式非常的具备前瞻性,但是在落地的过程中由于环境部署的问题迟迟不能在企业落地。Docker以及K8S容器化编排技术的开源和发展,解决了微服务架构最后一公里的技术问题(环境部署)
java:企业级主流的语言,业内阿里巴巴的所有产品都是java
Python:主流的开发语言,最早的是豆瓣使用,后来各个互联网公司使用,也是Google四大语言之一
GO:Google发名的语言,被称为二十一世纪的C语言。Go语言非常优秀,但是一直不温不火,但是随着Google开源了K8S,Go语言也迅速的占据了市场,Go语言主要用用与底层服务,容器化开发,其中业内的字节跳动要求测试开发都得具备Go语言的基础开发能力。
C/C++:底层开发语言,如操作系统等都使用的是这种语言开发的,都是高手使用的语言。
PHP:轻量级的语言,适合几个人的开发与团队来使用,不适合大型研发团队使用
JavaScript:前段核心语言,必须掌握的,前段的三大框架(Vue,React,AngleJS)都是使用JavaScript来开发的
主流的操作系统:
windows
Linux
2、点击ok

3、然后会出现一个页面 --电脑重新启动
4、再下载一个插件 以管理员的身份运行 点击下一步 下一步即可

5、虚拟环境部署
(1)在windows PowerShell(这个是以管理员的身份运行)中 分别逐步输入以下命令 全部都要100%
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

(2)打开这个勾选3个程序



然后以管理员的身份运行DockerDesktop 出现的页面---底下出现绿的说明没有什么问题了

如果是红的弹出这个错误

(2)对于联想电脑而言 首先关机 然后不停的按F1+Fn 进入到BIOS 界面设置下
1.进入BIOS界面
(3)下来验证docker环境搭建
在控制台输入 docker --version 出现如图则搭建成功

docker术语
镜像:image
容器:一个镜像运行后的程序就是容器 container
docker镜像管理器
获取镜像的步骤
1、docker pull imageName
2、在docker hub 网站搜索是否存在imageName
https://hub.docker.com/_/hello-world
3、存在就获取下来 ,不存在就报错
获取hello-world镜像
docker pull hello-world

查看镜像
docker images

查看具体的镜像
docker images | findstr hello-world

运行镜像
docker run --rm hello-world 容器退出时删除容器的记录信息

不想采购 不像搭建环境所以通过docker创建一个虚拟环境 linux步骤
docker创建一个虚拟环境 linux步骤
1、首先获取linux镜像
docker pull centos:7.8.2003

2、查询指定镜像
docker images | findstr centos

3、运行指定镜像
docker run --rm -it centos:7.8.2003 bash
注意:这里要带上版本 7.8.2003 bash -it 命令行模式

下来就是彻底的进入到linux系统的容器里
下来可以下这个系统下查询时间和目录
date

ls

退出: exit

查看镜像显示的详细信息
docker image inspect 镜像id
docker image inspect fa5269854a5e

运行镜像
获取docker的镜像后,就可以运行对应的docker的镜像信息了,运行的命令为run,具体的指令总结如下:
-it:开启交互式的命令 控制台方式
--rm:容器退出时删除容器的记录信息
--name:指定容器的名称
-d:后台方式运行容器
docker run --rm -it --name linux centos:7.8.2003 bash
运行 这个7.8.2003版本的centos镜像,这个过程中形成的容器命名为linux
docker ps -a | findstr centos #查看运行的容器记录信息
这个centos形成容器的记录信息

删除镜像
docker rmi imageName 用名称删除

docker rmi imageID 用id删除

docker的镜像被容器运行
如果一个镜像被容器运行了,那么删除镜像的步骤可以总结为:
1、得到容器的id
2、删除关联的容器
3、使用name或者id来删除镜像
nginx:反向代理的中间件,俄罗斯人发明的
以下是nginx镜像的获取到启动到删除的整个历程
1、获取nginx镜像
docker pull nginx

2、启动nginx镜像
docker run -p 80:80 nginx
注意:-p指定运行的端口 冒号左侧的80指的是宿主机的端口 冒号右侧的80指的是nginx的默认端口
3、查看下指定容器的记录
(这里需要再打开一个控制台)
docker ps -a | findstr nginx
4、查看下运行容器的端口
(第3个步骤可以获取到容器的id)
docker port 容器id

5、在浏览器访问nginx
http://localhost:80

6、删除nginx镜像
注意:这里是有个报错的 是删除不了的,因为这个已经启动

7、停止nginx的运行
治理有2种方式
第一种是关闭控制台
第二种是容器停止
docker stop containerID
注意:输入这个命令之前 首先获取容器的id ,然后输入命令 启动的控制面板会自动停止,然后可以刷新下浏览器访问的nginx ,如图的话就容器停止成功了


8、容器停止了然后删除nginx的容器记录
(1)先检查下容器记录
(2)然后根据id 删除
(3)再次检查下容器记录

9、删除nginx的镜像

容器的启动:
docker start containerID
这个如果不知道容器的id 首先获取下容器的id 其次再启动 这个启动启动成功后,率刷新浏览器访问的nginx页面 ,可以下是否可以刷新的出来,如果可以出来就启动成功
重新刷新页面

导入导出的场景:
1、比如开发一个本地构建一个镜像
2、开发导出
3、把文件发送给测试
4、测试导入到docker
5、测试运行镜像,环境ok,开始测试
导入:
docker image load -i nginx.taz
注意:如果你的nginx.taz文件在桌面 需要从桌面导入则首先要切换到桌面

导出:
注意:执行这个之后 指定的位置会多个nginx.taz 文件
docker image save imageName -o 路径/nginx.taz
docker image save nginx -o C:\Users\Administrator.lwp-PC\Desktop\nginx.taz



浙公网安备 33010602011771号