docker通用鏡像方法,程序更新時不用重新構建鏡像。更新可執行文件后,重新啟動容器就可運行。
功能
1、在demo目錄下添加腳本文件start.sh,里面執行demo.jar文件。
2、將demo目錄映射到鏡像下的 /workspace目錄。
3、Dockerfile文件中默認運行**/workspace目錄下的start.sh**腳本。
文件
Dockerfile
# 拉取jdk8作為基礎鏡像
FROM openjdk:8
# 作者
MAINTAINER d <123@qq.com>
#修改鏡像時區
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneENTRYPOINT ["sh","-c","/workspace/start.sh"]
docker_run.sh
#!/bin/bash
cd $(dirname "$0")docker run --name=common \-v $(pwd):/workspace \-t -d $1
start.sh
#!/bin/bash
cd $(dirname "$0")
echo `pwd`java -jar demo_file/demo-app.jar
演示例子
地址
https://gitee.com/yingge2017/docker_common_image.git
使用方法
例子中,demo文件夾子在工程當前目錄下。
#1、根據Dockerfile生成鏡像,鏡像名稱為common.
docker build -t common .
#2、運行docker_run.sh腳本生成容器,并且將本地文件映射到鏡像內。
./docker_run.sh common
#3、查看鏡像日志
docker logs common
打印日志