dockerfile 封裝springboot小項目,並導出
阿新 • • 發佈:2018-06-13
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小項目,並導出