Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口
2.1 docker中比较难理解的就是镜像与容器之间的关系。在我们处理项目部署的时候就需要明白这是个什么东西。
2.2 docker如上文所述就是一个容器,所以在我们的服务器上需要有一个docker的环境,通过docker去拉取我们所需要的东西,注意:我们拉取下来的东西都是镜像,需要启动就需要我们放进一个容器中(通过命令,下面会阐述),所以这就是传说中的通过镜像去启动一个容器,并且一个镜像也可以启动多个容器,在我们启动多个容器的时候容器名不同即可。
1、解决了开发人员部署困难的问题,会操作的人把已经配置好的容器直接打包发给不会的人直接通过命令的方式就可完成部署,启动项目
2、简化配置,一台服务器上面就可以部署多个环境用于测试,不用等待
…
前提是你需要拥有一个自己的服务器,虚拟机也可
1)在服务器上安装好项目运行的环境
1.1 jdk mysql nginx reids (根据项目需要进行安装)
这里安装就不细讲了,网上百度多的雅痞
2) 部署正式开始
2.1 步骤总览
2.1.1 先打包项目我这里用的是idea —后端
打包的话就需要引入maven的打包插件pom.xml
然后在idea的Terminal中输入打包命令
最终打出来在target中,文件夹下面有一个xxx.tar 压缩包
2.1.2 通过finalshell连接服务器(也可以是其他的)
建议上传的时候在云服务器上面建立一个文件夹放这个项目,方便管理
然后在通过命令的方式去启动这个后端打包的代码
上面这个关闭就不能访问了,所以需要一个后台启动这个项目关闭也无所谓
这个启动过后你是看不到任何启动的状态的所以可以通过一个命令来查看它启动的过程也叫–查看事实日志 tail -f xxx.log 注意:这个log文件就是你在设置后台启动的日志文件
2.2.2 前端项目打包
这里就不去服务器配置了,本机和服务器配置是一样的
1) 看项目是html的页面还是vue的页面,如果是html的页面直接把这些页面全部copy到nginx中去,在nginx的config目录寻找到nginx.conf去进行配置,但是如果是vue项目的话就必须打包为xxx.tar.gz格式的一个文件在把项目中的dist中的东西全部copy到nginx中去,然后在配置(这里就和html的配置是一样)
2)具体步骤(当前项目为例)
①、前端打包命令–具体还是要看你的package.json的命令
2.1 、 先在自己的服务器上安装docker环境
命令如下
1) 安装工具
2) 添加docker的yum库
3) 安装docker
4) 启动&开机启动
5) 测试docker
2.2、docker镜像加速
4)maven插件构建镜像
①、开启docker远程访问
其中ExecStart=后添加配置
注意: 0.0.0.0:2375 #表明任意的ip都可以访问端口2375
②、 刷新配置,重启服务
5)在idea中添加docker插件
6) 进入需要打包的项目idea中
7) 拉取自己项目所需要的东西–redis
这只是一个镜像还不能正常使用需要一个容器,通过进行来启动这个容器
…
8)因为刚才打包过了并且他会自动帮我们创建一个进行在服务器中所以我们只需要通过镜像去启动容器即可但是这里后端用到了redis而redis却在另一个容器中所以这里需要容器与容器之间的通信利用link
9)前端项目部署
①、打包
④、编写Nginx配置文件
⑧、通过镜像去启动容器并且和我们的后台容器建立通信
注意: 这里容器别名要和nginx配置类中的反向代理名一致
这里就完成了,自己启动在nginx中配置的server_name 即可