docker通用镜像方法,程序更新时不用重新构建镜像

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/timezone

ENTRYPOINT ["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

打印日志
docker通用镜像方法,程序更新时不用重新构建镜像_第1张图片

你可能感兴趣的:(docker,容器,运维)