有兄弟分享Docker下JFianl运行的修改方式,我也分享一种打包运行的一种方法:
1、在项目跟目录下增加docker打包用的Dockerfile:
FROM java:8 MAINTAINER TEST RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone WORKDIR res COPY . . EXPOSE 80 ENTRYPOINT ["java","-Xverify:none","-cp","./lib/demo-4.0.jar:./config:./lib/*","com.ruyi.Config"]
2、在packages.xml下修改copy目录,增加Dockerfile:
<!-- 项目根下面的脚本文件 copy 到根目录下 --> <fileSet> <directory>${basedir}</directory> <outputDirectory></outputDirectory> <!-- 脚本文件在 linux 下的权限设为 755,无需 chmod 可直接运行 --> <fileMode>755</fileMode> <includes> <include>*.sh</include> <include>*.bat</include> <include>Dockerfile</include> </includes> </fileSet>
3、在跟目录下增加build.sh,用于打包生成项目Docker镜像:
#!/bin/bash # -------------------------------------------------------------- # demo为镜像名 # -------------------------------------------------------------- docker build -t demo .
4、在跟目录下增加docker_run.sh,用于运行Docker镜像:
#!/bin/bash # ---------------------------------------------------------------------- # # 1.执行docker ps 找到正在进行的进程,docker stop 'name' # 2.执行此sh,启动,按照需要的参数修改下面命令 # # 启动docker demo镜像,将80端口代理到8086端口,输出日志到制定文件 # ---------------------------------------------------------------------- nohup docker run -t -p 8086:80 demo > /www/log/demo.log &
5、打包、运行
在项目下执行 mvn clean package打包,得到的打包完成的文件直接上传liunx服务器,解压后对build.sh、docker_run.sh文件增加运行权限,运行build.sh打包后运行docker_run.sh启动项目。