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项目的主要内容,如果未能解决你的问题,请参考以下文章
通过Dockerfile部署TomcatApacheNginxMySQL服务