docker创建运行springboot的jar包镜像

本文详细介绍了如何使用Dockerfile构建一个基于Java 8的镜像,并设置时区、执行测试脚本。通过编写a.sh脚本来启动Java应用并保持容器运行。此外,还提供了创建Docker镜像、运行容器的命令。内容涵盖Dockerfile指令、容器端口映射及脚本编写技巧。
摘要由CSDN通过智能技术生成

DockerFile

FROM java:8
MAINTAINER tiger <tiger@gmail.com>
COPY ./a.sh /home/
#设置时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone && \
	chmod 777 /home/a.sh && \
	cd /home/ && \
	# 测试java环境
	echo 'public class Main { public static void main(String[] args) { System.out.println("测试java环境===Java code is running fine!"); } }' > Main.java && \
    javac Main.java && \
    java Main
	
ENTRYPOINT ["/home/a.sh"]
#端口
EXPOSE 8080

a.sh脚本

#!/bin/sh
time=$(date "+%Y-%m-%d %H:%M:%S")
java -jar /home/meridian-0.0.1-SNAPSHOT.jar --spring.config.location=/home/application.yml > /home/log.log 2>&1 &
echo $time"-启动成功"
##在脚本最后一行添加tail -f /dev/null,这个命令永远完成不了,所以该脚本一直不会执行完,所以该容器永远不会退出
tail -f /dev/null

测试脚本会不会出现 -bash: ./a.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目

出现执行下面操作:

sed 's/\r//' -i a.sh

 

创建docker镜像包jar命令

docker build -t jar -f Dockerfile .

 运行容器命令(执行脚本a.sh可在容器运行后随意更改,然后重启容器即可docker restart java-jar):

docker run -id --name zw -v /opt/zw/:/home/ -p 8080:8080 zw

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值