本篇文章主要记录手动讲jar包放到docker中运行,至于jar包的生成,请看我另外一篇文章,这里不做详述,链接如下

使用maven 将springboot打包成jar 并执行

试验环境:

1、centos 7

2、docker 18.04.0-ce


一、环境准备

1、创建测试目录 jar_test

mkdir jar_test

2、上传测试jar包到jar_test,这里试验的jar包采用的是cloud的很简单的一个eureka server

eureka-0.0.1.jar

3、进入到jar_test,,然后创建Dockerfile

touch Dockerfile

4、编写Dockerfile

FROM java
VOLUME /tmp
ADD eureka-0.0.1.jar app.jar
RUN bash -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar"]

文件详解:

FROM java:指Docker Hub上官方提供的java镜像,有了这个基础镜像后,Dockerfile可以通过FROM指令直接获取它的状态——也就是在容器中java是已经安装的,接下来通过自定义的命令来运行Spring Boot应用。

VOLUME /tmp:创建/tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp作为工作目录。

ADD eureka-0.0.1.jar app.jar:将应用jar包复制到/app.jar

ENTRYPOINT:表示容器运行后默认执行的命令



5、生成镜像

docker build -t wqb/jar_test:0.01 .

这边要注意一下,最后的点不要忘了加,点代表当前目录

生成完之后,查看一下



6、执行容器 

docker run -p 8761:8761 --name jar_test -d wqb/jar_test:0.01

-p 指定端口

-d 后台运行容器,并返回容器ID;

使用docker ps 命令查看容器是否运行



7、实现效果,

浏览器地址为:http://ip:8761/

看到页面,说明部署成功




参考博客:

https://www.cnblogs.com/java-my-life/p/7001998.html


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐