如果你是从其他语言,转向java,里面 海量的第三方插件,密密麻麻的版本号,数不胜数的框架名称,看起来是不是特别复杂。其实用起来更复杂:)
工作中用起来复杂, 再拆分成 开发人员、测试人员,运维人员 复杂度指数级增加,沟通成本也是不可忽视。
有个简单的方法 可以忽略这些,那就是这三个角色都用一台电脑。 问题完美解决了。版本号,环境搭建,都是很匹配的。 docker就是这个原理。
docker 放弃了windows macos 因为他不开源,选择了大家都说好,且经过时间洗礼的linux。
docker是一个删减版的linux,删除到只够你这一个项目用的环境。开发人员,折腾好的环境直接带着操作系统——docker 给了测试人员。 测试人员测试完成后。带着系统——docker给了运维人员。运维人员直接把docker 放到了服务器上。 启动 OK
只要思想不滑坡,办法总比困难多。
接下来就是docker的三个用法
1. docker的打包。
这步你需要准备一个docker file 用来描述你想让docker提供什么样的环境, 开放什么样的端口供你使用。 比如下面这段
然后你需要把这个docker文件和你的jar包,放到一起,运行一个命令,做成docker镜像
2.docker的启动
docker在linux中安装,yum install -y docker-ce
docker 启动 systemctl start docker
docker下载镜像 docker pull mysql:5.7 #冒号后面可以跟版本号,或者不跟下载最新的
docker 启动容器 docker run -d --name dockerContainer -p 3306:3306 mysql:5.7
3.一堆docker 的时候 用到了docker管理工具 docker compose
docker compose 是用配置文件yml 管理一堆docker
比如这段 , 当然你的 链接字符串之类的 就需要写这里面的 服务名。 要不然找不到。