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语言的基础开发能力。

Net:微软主导的语言,企业级语言

C/C++:底层开发语言,如操作系统等都使用的是这种语言开发的,都是高手使用的语言。

PHP:轻量级的语言,适合几个人的开发与团队来使用,不适合大型研发团队使用

JavaScript:前段核心语言,必须掌握的,前段的三大框架(Vue,React,AngleJS)都是使用JavaScript来开发的

主流的操作系统:

windows

Linux

unix

Docker实战

1、下载一个Docker 安装包 然后解压  并且以管理员的身份运行

 

 2、点击ok

 

 3、然后会出现一个页面  --电脑重新启动 

4、再下载一个插件    以管理员的身份运行  点击下一步 下一步即可

 

 5、虚拟环境部署

(1)在windows PowerShell(这个是以管理员的身份运行)中  分别逐步输入以下命令   全部都要100%

wsl --install

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

 

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

 

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

 

 如果是红的弹出这个错误

Hardware assisted virtualization and data execution protection must be enabled in the BIOS

(1)请假查下 本地的虚拟化是否禁用

 

 (2)对于联想电脑而言  首先关机   然后不停的按F1+Fn  进入到BIOS 界面设置下

请关机电脑 开启 一致按F1+Fn 进入BOIS界面

1.进入BIOS界面

2.进入CPU Configuration设置界面,在底部可以看到Intel Virtualization Technology设置项。

3.把它设置为Enabled,这样就开启了CPU的虚拟化支持功能。最后保存(F10)退出BIOS设置。

然后电脑重新启动  再进入控制台   net localgroup administrators user name/add     就ok啦

(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

 

posted @ 2022-05-06 19:34  净植  阅读(60)  评论(0)    收藏  举报