dockerfile 封装springboot小项目,并导出

1、本次镜像的基础镜像是:https://www.cnblogs.com/JoeyWong/p/9173265.html

2、将打包好的项目文件放在与Dockerfile同级的目录下

3、Dockerfile 如下:

# Base os image
FROM centos:jdk8
MAINTAINER Joey <your email>
LABEL Description="This image is javaweb images."  Version="1.0"

#java web
RUN mkdir /home/data

#将项目文件从本地传到镜像中
ADD javaweb-package.zip /home/data

#解压项目 解压后删除多余文件
RUN unzip /home/data/javaweb-package.zip -d /home/data/ && rm -rf /home/data/javaweb-package.zip
 
#授权
RUN chmod -R +x /home/data/javaweb-1.0

#开放8080端口
EXPOSE 8080

#在启动后执行web项目的启动脚本 
ENTRYPOINT ["sh","/home/data/javaweb-1.0/start.sh"]

4、注意点:

  1、项目的解压路径,一开始的时候我没有将项目解压到指定路径,然后生成的镜像中项目都被解压到了 / 目录下,以至于项目始终运行错误

  2、在最后启动后运行项目启动脚本的时候,我的脚本中使用了nohup,后台运行,所以docker run之后 容器就退出运行!!于是我在我的start.sh的脚本末尾添加了tail -f $PRG_DIR/log.log 动态查看日志的命令,至此 搞定!

5、生成镜像,注意 . 很重要

docker build -t javaweb:1.0 .

6、导出镜像,其中

docker save <镜像ID>> /root/javaweb-docker.tar 

猜你喜欢

转载自www.cnblogs.com/JoeyWong/p/9177082.html