docker运行jar包加载外部配置文件方式

 更新时间:2023年08月23日 15:32:05   作者:a540948758  
这篇文章主要介绍了docker运行jar包加载外部配置文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

docker运行jar包加载外部配置文件

1、创建Dockerfile文件

FROM java 
EXPOSE 8083
ADD data_app-3.2.1-SNAPSHOT.jar smart.jar
COPY application.properties /
RUN bash -c 'touch /smart.jar'
ENTRYPOINT ["java","-jar","/smart.jar","--spring.config.location=/application.properties"]
  • FROM 拉取java镜像
  • EXPOSE 开放的端口号
  • ADD 将需要执行的jar包复制到容器的根目录下,并更换别名
  • COPY 将配置文件复制到容器的根目录中
  • RUN 将在当前镜像基础上执行指定命令,并提交为新的镜像
  • ENTRYPOINT 配置容器启动后执行的命令

2、构建docker镜像

docke build -t java/demo .

注意事项:不能漏掉.,-t是给镜像命名,.(点)是基于当前目录的Dockerfile来构建镜像

3、启动docker容器

docker run -d -p 8083:8083 --restart=always --name demo java/demo
  • docker run:基于镜像启动一个容器
  • -d:后台方式启动
  • -p 8083:8083: 端口映射,将宿主机的8083端口映射到容器的8083端口
  • –name:容器名,我起的叫demo
  • java/demo :要启动的镜像名称
  • –restart=always 跟随docker容器启动

4、查看,访问

docker ps 

打开测试工具poman,192.168.99.100:8083+对应的接口名称,测试结果返回即成功

docker搭建jar包运行环境

docker搭建jar包运行环境Dockerfile(之前都是用的 java:8-alpine ,因为使用 easyexcel 字体问题切的)

# 容器版本
FROM centos:centos7.9.2009 
# jdk根目录
ENV JAVA_DIR=/usr/local
# 把宿主机的jdk上传到容器中
COPY ./jdk1.8.0_51 $JAVA_DIR/jdk1.8.0_51
# 配置环境变量	
ENV JAVA_HOME=$JAVA_DIR/jdk1.8.0_51
ENV PATH=$PATH:$JAVA_HOME/bin
# 设置字符,不然中文会乱码
ENV LANG en_US.utf8
# 安装字体
RUN yum install dejavu-sans-fonts fontconfig -y
#添加时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

编写玩Dockerfile后build,可推送到镜像仓库后重复使用或者导出来重复使用

  • build
docker build -t [镜像服务器地址]:[版本号] .
  • pull
docker pull [镜像服务器地址]:[版本号] 
  • 导入导出镜像
#导入
docker load -i xxx.tar
#导出
docker save -o xxx.tar [镜像id|镜像名:tag]

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决docker修改mysql配置文件的问题

    解决docker修改mysql配置文件的问题

    今天在用docker启动一个5.7的数据库在建表时候遇到一个问题,但是很快就解决了,下面小编给大家讲解下docker怎么修改mysql内部的配置,感兴趣的朋友跟随小编一起看看吧
    2022-10-10
  • Docker镜像拉取、制作与上传的完整指南

    Docker镜像拉取、制作与上传的完整指南

    本文文章主要介绍了Docker镜像的核心概念、实用示例以及最佳实践,从基础的镜像拉取、制作到高级ocker安全加固、性能优化和自动化部署,全方位讲解了Java应用在Docker中的实战应用,并并给出了具体的操作示例和建议,需要的朋友可以参考下
    2026-04-04
  • 基于docker安装mariadb配置过程解析

    基于docker安装mariadb配置过程解析

    这篇文章主要介绍了基于docker安装mariadb配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • docker构建nginx alpine镜像实现步骤

    docker构建nginx alpine镜像实现步骤

    这篇文章主要介绍了docker构建nginx alpine镜像实现步骤,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • docker项目部署的教程(Vue+springboot)

    docker项目部署的教程(Vue+springboot)

    这篇文章主要介绍了docker项目部署的教程(Vue+springboot),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 详解如何干净的卸载docker的方法

    详解如何干净的卸载docker的方法

    这篇文章主要介绍了详解如何干净的卸载docker的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Docker Desktop搭建RocketMQ的图文步骤

    Docker Desktop搭建RocketMQ的图文步骤

    RocketMQ支持发布/订阅模式和点对点模式,可以根据业务需求选择合适的消息模式,本文主要介绍了Docker Desktop搭建RocketMQ的图文步骤,感兴趣的可以了解一下
    2024-02-02
  • docker-compose安装RabbitMQ及插件操作步骤

    docker-compose安装RabbitMQ及插件操作步骤

    这篇文章主要为大家介绍了docker-compose安装RabbitMQ及插件操作步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • nginx在docker容器中自动生成配置文件

    nginx在docker容器中自动生成配置文件

    这篇文章主要介绍了nginx在docker容器中自动生成配置文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Docker 无法停止或删除容器服务问题的解决方案

    Docker 无法停止或删除容器服务问题的解决方案

    这篇文章主要介绍了Docker 无法停止或删除容器服务问题的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论