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
打印日志