1、创建dockerfile
touch Dockerfile
2、编写镜像创建的过程
vi Dockerfile
FROM monidev.midea.com/library/centos:7.3.1611
MAINTAINER wangzy25
#install java
#RUN yum -y install java
ADD ./jdk-7u79-linux-x64.tar.gz /root
#ADD ./ecf.platform.web-0.0.1-SNAPSHOT.jar /apps/svr/
#ADD ./start.sh /apps/svr/
##set environment variable
ENV JAVA_HOME /root/jdk1.7.0_79
ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib
ENV PATH $JAVA_HOME/bin:$PATH
#set charset
ENV LANG "zh_CN.UTF-8"
#inatall app
EXPOSE 80 443 8082
VOLUME ["/apps/logs/","/apps/svr/"]
#start app
CMD echo "start app ..."
#ENTRYPOINT java -jar /apps/svr/ecf.platform.web-0.0.1-SNAPSHOT.jar --server.port=8082 --spring.profiles.active=sit
ENTRYPOINT /apps/svr/start.sh
CMD echo "started app success"
3、编写启动脚本
#!/bin/sh
source_path='.'
target_path='/apps/svr'
echo $target_path
cd /apps/svr
java -jar ecf.platform.web-0.0.1-SNAPSHOT.jar
#nohup java -jar ecf.platform.web-0.0.1-SNAPSHOT.jar --spring.profiles.active=sit > nohup.out & 2>&1 &
echo "$RUN_NAME started success."
4、以上是准备工作完毕,执行创建镜像命令:
docker build -t ecf/ecf.platform.web:v1 .
执行情况如下:
Sending build context to Docker daemon 231.3MB
Step 1/12 : FROM monidev.midea.com/library/centos:7.3.1611
---> 66ee80d59a68
Step 2/12 : MAINTAINER wangzy25
---> Running in 95eb6ed250b3
Removing intermediate container 95eb6ed250b3
---> b3daaa0abdc2
Step 3/12 : ADD ./jdk-7u79-linux-x64.tar.gz /root
---> 4be2ada71dad
Step 4/12 : ENV JAVA_HOME /root/jdk1.7.0_79
---> Running in d5773b40feb3
Removing intermediate container d5773b40feb3
---> 468212964a5e
Step 5/12 : ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib
---> Running in 89d7d2905fae
Removing intermediate container 89d7d2905fae
---> d7bcfd680dc4
Step 6/12 : ENV PATH $JAVA_HOME/bin:$PATH
---> Running in 449f18ccd8fa
Removing intermediate container 449f18ccd8fa
---> 7f2edde26efc
Step 7/12 : ENV LANG "zh_CN.UTF-8"
---> Running in 58d366405586
Removing intermediate container 58d366405586
---> 618e7427eda3
Step 8/12 : EXPOSE 80 443 8082
---> Running in 2f5bb0903093
Removing intermediate container 2f5bb0903093
---> 295cbde573c2
Step 9/12 : VOLUME ["/apps/logs/","/apps/svr/"]
---> Running in 276c6ff66bd2
Removing intermediate container 276c6ff66bd2
---> c7ec99c6bdfc
Step 10/12 : CMD echo "start app ..."
---> Running in 7fa8bfe22266
Removing intermediate container 7fa8bfe22266
---> 85e0e9fb1ec4
Step 11/12 : ENTRYPOINT /apps/svr/start.sh
---> Running in db3bf0d24f63
Removing intermediate container db3bf0d24f63
---> 0d924c5a24a5
Step 12/12 : CMD echo "started app success"
---> Running in 9d65d41a633b
Removing intermediate container 9d65d41a633b
---> 0f3a57a9ed58
Successfully built 0f3a57a9ed58
Successfully tagged ecf/ecf.platform.web:v1
5、启动镜像
docker run -d --name ecf.platform.sit -p 8082:8082 -v /apps/projects/sit/ecf.platform.web:/apps/svr -v /apps/logs/sit:/apps/logs 70dc22557af3
6、查看启动状况
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9411ebfea790 0f3a57a9ed58 "/bin/sh -c /apps/sv…" 8 minutes ago Up 8 minutes 80/tcp, 443/tcp, 0.0.0.0:8082->8082/tcp ecf.platform.sit