使用dockerfile打包新镜像

Dockerfile


FROM registry.cn-hangzhou.aliyuncs.com/wljs-ops/openjdk:8u222-b10-1-deb9u1
#Maintainer
MAINTAINER jason
ENV TZ="Asia/Shanghai"
ENV JVM_ARGS=""
ENV JVM_OPTS="-Xmx2048M -XX:ParallelGCThreads=2"
#mkdir logagent


#RUN mkdir /opt/logagent
RUN mkdir /opt/sensors_data
#add file
COPY ./logagent/ /opt/logagent
#Switch directory
WORKDIR /opt/logagent/
#start java
CMD ["sh", "start.sh"]

 

FROM : 基础镜像 (本机要先下载基础镜像)
MAINTAINER: 指定作者
RUN :在容器创建文件夹
COPY:拷贝本机文件到容器
WORKDIR: 用于为 Dockerfile 中所有的 RUN、CMD、ENTRYPOINT、COPY 和 ADD 指定设定工作目录,其生效范围为本次定义workdir到下一次定义之间,且还会影响到进入容器时的目录
CMD:容器启动后执行命令


start.sh

#!/bin/bash
echo "starting ......"
nohup /opt/logagent/bin/logagent >/dev/null 2>&1 &
filelist=$(ls | egrep '*.jar')
for file in $filelist
do
P_ID=`ps -ef | grep -w "$file" | grep -v "grep" | awk '{print $2}'`
if [ "$P_ID" != "" ]; then
echo "=== $file start success"
echo "$P_ID"
else
echo "=== $file start failure"
fi
done
while [ true ]; do
sleep 1
done

创建一个名为Jason123的新镜像

docker build -t Jason123:v1.0  .
原文地址:https://www.cnblogs.com/xiaoyou2018/p/14558128.html