docker制作springBoot项目镜像容器

2019-11-21  本文已影响0人  顾道夫

前提:准备好基础具备JAVA8环境的镜像,准备一个制作镜像的目录

1.打包好应用代码 部署文件 springBoot只有一个jar包

xxx-0.0.1-SNAPSHOT.jar

2.编写all.sh文件

这里路径都是容器里的路径,将配置文件,日志目录软链接到挂载目录,方便修改,可持续化

#!/bin/bash

#export JAVA_HOME=/data/jdk
#export PATH=$JAVA_HOME/bin:$PATH
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8  -Duser.timezone=GMT+08"
cd /opt/product/xxx/
rm -rf config logs
ln -s /opt/product/data/config /opt/product/xxx/config
ln -s /opt/product/data/logs /opt/product/xxx/logs
#java  -jar -Dspring.profiles.active=prod -Dspring.config.location=/opt/config ./xxx-0.0.1-SNAPSHOT.jar
cd /opt/product/xxx/
java $JAVA_OPTS -jar  xxx-0.0.1-SNAPSHOT.jar
#ping 192.168.220.121

3.编写Dockerfile文件

FROM java:8
MAINTAINER gudolf
RUN mkdir -p /opt/product/xxx
ADD xxx-0.0.1-SNAPSHOT.jar /opt/product/xxx/xxx-0.0.1-SNAPSHOT.jar
RUN sh -c 'touch /opt/product/xxx/xxx-0.0.1-SNAPSHOT.jar'
#RUN cd /opt/jdk/jdk1.8.0_111/bin/ && chmod +x *
VOLUME [ "/opt/product/data/" ]
ENV JAVA_HOME="/data/jdk"
ADD all.sh /root/
RUN chmod +x /root/all.sh
ENTRYPOINT ["/root/all.sh"]
CMD ["/usr/sbin/init"]
#ENTRYPOINT [ "sh", "-c", "$JAVA_HOME/bin/java -jar /app.jar -Duser.timezone=GMT+08" ]

4.制作镜像

sudo docker build -t xxx:xxx  ./

5.启动镜像

docker run --name=xxx --restart=always -d -ti -p 60003:60003 -v /data/product/xxx_data:/opt/product/data xxx:xxx
上一篇下一篇

猜你喜欢

热点阅读