构建一个简单的示例SpringBoot:
正常部署:一般是打成jar包然后复制到linux服务器上去执行java -jar xx.jar
但本文讲述的是如何使用docker来部署springboot项目。
如果涉及到数据库,只需要将url改为linux的ip,并在linux中启动docker的mysql,并在宿主机(windows等)通过navicat工具先将本地的数据进行备份,并用navicat连接docker的mysql,将备份文件“还原备份”到navicat连接的docker的mysql的数据库中即可。
1.打包并放到linux上:
这里我用的vmware安装的有tools可以直接拖文件到虚拟机中,或者使用xftp也ok。
2.编写Dockerfile定制镜像:
说明:
FROM:基础镜像:即运行环境。
VOLUME:/tmp创建/tmp目录并持久化到Docker数据文件夹,因为SpringBoot内嵌的Tomcat容器默认使用/tmp作为工作目录。【VOLUME是数据卷】
ADD: 拷贝文件并重命名了
EXPOSE: 并不是真正的发布端口,这个只是容器部署人员与建立image人员之间的沟通,即建立image的人员告诉容器部署人员容器应该映射哪个端口给外界。
ENTRYPOINT: 容器启动时运行的命令,相当于输入java -jar xxx.jar ,为了缩短tomcat的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为ENTRYPOINT