docker中使用Dockerfile部署springboot项目

Posted yamiya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker中使用Dockerfile部署springboot项目相关的知识,希望对你有一定的参考价值。

1、准备springboot项目jar包和Dockerfile文件

FROM java:8
VOLUME /tmp
ADD eladmin.jar eladmin.jar
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/eladmin.jar"]

FROM:表示基础镜像,即运行环境
VOLUME /tmp创建/tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使
/tmp作为工作目录
ADD:拷贝文件并且重命名(ADD eladmin.jar eladmin.jar 将应用jar包复制到/exam.jar)

EXPOSE:并不是真正的发布端口,这个只是容器部署人员与建立image的人员之间的交流,即建立image的人
员告诉容器布署人员容器应该映射哪个端口给外界

ENTRYPOINT:容器启动时运行的命令,相当于我们在命令行中输入java -jar xxxx.jar,为了缩短 Tomcat 的启
动时间,添加java.security.egd的系统属性指向/dev/urandom作为 ENTRYPOINT

2、构建镜像

把jar包和Dockerfile放在同一个目录下执行下面命令

docker build -t exam .

3、运行容器

docker run  -d --name 容器名称 -p 8080:8080 镜像名称

其中-d表示后台运行容器,这也就自然地解决的Spring Boot不支持后台运行应用程序的问题。
-p 8080:8080表示将容器内部的8080端口映射到宿主机器的8080端口,这样就可以通过宿主机器直接访问应
用。
--name 给容器取一个容易记住的名字方便日后管理。
4、查看运行日志

docker logs -f --tail=100 容器名称 

tail后面是常看日志的条数





以上是关于docker中使用Dockerfile部署springboot项目的主要内容,如果未能解决你的问题,请参考以下文章

docker部署springboot

通过Dockerfile部署TomcatApacheNginxMySQL服务

docker-day3——docker应用部署docker迁移与备份Dockerfile

docker数据管理和镜像创建dockerfile部署

.NET 5 部署在docker上运行

阿里云部署Docker----Dockerfile脚本定制镜像