1. 程式人生 > >dockerfile 封裝springboot小項目,並導出

dockerfile 封裝springboot小項目,並導出

entry web pri rm -rf In amp log maintain clas

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 

dockerfile 封裝springboot小項目,並導出