简单dockerfile挂载springboot项目

2021-04-13 06:27

阅读:447

标签:rip   停止   端口   存在   声明   pre   touch   系统启动   touch命令   

背景说明:

一个springboot小项目,通过容器化方式部署。当修改工程源码后打包成jar,不想每次都重新进行docker build生成新的镜像,则采用挂载方式,dockerfile如下:

# 容器化部署方案
# Docker image for springboot file run
# VERSION 0.0.1
# Author: zhaoxx
# #################################################################### #
# Description:
#     1、如使用docker部署,当前文件需要放到服务器/home/docker/路径下
#     2、当前工程生成的jar也要放到/home/docker/路径下
#     3、构建镜像:docker build -t 自定义镜像名称 .
#     4、启动容器:docker run -d -p 8080:8080 -v 自定义存放目录:VOLUME目录 自定义镜像名称
#
#     后续启动:docker start 镜像名称
#     后续停止:docker stop 镜像名称
#     或者可视化插件中停止与启动
# #################################################################### #

# 基础镜像使用java
FROM java:8

# 声明运行时容器的端口,对应项目端口
EXPOSE 8080

# 创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库和需要保持的数据等
VOLUME /home/kafka-deliverer

# 将jar包添加到容器中,可以更名,后者为容器中jar
#ADD kafka-deliverer-1.0.jar kafka-deliverer-1.0.jar

# 指定工作目录
WORKDIR /home/kafka-deliverer

# sh -c是将后面命令视为一个整体,touch命令实则改变了jar的时间,并无其它意义
RUN sh -c touch /kafka-deliverer-1.0.jar

# 此处命令为启动容器
# "-Djava.security.egd=file:/dev/./urandom"java参数,可靠的产生随机数,此处目的是加快系统启动,如果存在tomcat建议使用此参数
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/kafka-deliverer-1.0.jar"]

dockerfile中注释已经明确,第一次需要构建镜像,同时执行“docker run -d -p 8080:8080 -v 自定义存放目录:VOLUME目录 自定义镜像名称”启动容器,后续更改了jar后,只需把jar放到自定义存放目录即可

然后执行“docker restart 容器名称”

简单dockerfile挂载springboot项目

标签:rip   停止   端口   存在   声明   pre   touch   系统启动   touch命令   

原文地址:https://www.cnblogs.com/Arthemis-z/p/13344991.html


评论


亲,登录后才可以留言!