首页 > 编程语言 >docker-compose 外部配置部署 java 项目原创

docker-compose 外部配置部署 java 项目原创

时间:2023-10-24 17:47:16浏览次数:31  
标签:compose java application jar nginx location mysql docker yml

有的项目写完,需要打包到不同的环境。所以配置一个外部 yml 配置文件会方便很多,不用重新打包。

文件目录构造

├──app├──application.yml
      ├──app.jar 
      ├──Dockerfile
├──mysql
├──nginx
docker-compose.yml
w.sh

Dockerfile

FROM java:8
#VOLUME /tmp
ADD dstapp.jar app.jar
ADD application.yml /application.yml
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom", "-Dspring.config.location=/application.yml", "-jar", "/app.jar"]

注意,以上顺序不可改变。-Dspring.config.location 别搞错了,不是 --spring.config.location

docker-compose.yml

version : '2'
services:

  redis:
    image: redis:3
    command: redis-server --requirepass 1234
    ports:
      - "6379"
  nginx:
    build: nginx
    image: jo/nginx
    ports:
      - "9527:9527"
    volumes:
      - ./nginx/dist/:/etc/nginx/html/
    links:
      - dstapp

  mysql:
    build: mysql
    image: jo/mysql
    volumes:
       - ./src/main/docker/mysql/my.cnf:/root/mysql/my.cnf mysql
    command: --max_allowed_packet=32505856
    environment:
       - MYSQL_ROOT_PASSWORD=123456
    ports:
       - "3306"
    expose:
       - "3306"

  dstapp:
    build: dstapp
    image: jo/dstapp
    volumes:
      - ./w.sh:/w.sh
    ports:
      - "8080"
    restart: always
    depends_on:
      - mysql
    links:
      - mysql
      - redis
    entrypoint: "./w.sh mysql:3306 -- java -Dspring.config.location=/application.yml -jar /app.jar"

注意:这里的 -Dspring.config.location 也是需要注意位置。

标签:compose,java,application,jar,nginx,location,mysql,docker,yml
From: https://www.cnblogs.com/gaoyanbing/p/17785368.html

相关文章

  • docker上安装mysql
    docker上安装mysql1、拉取镜像dockerpullmysql:5.7.26 2、运行容器dockerrun--namemysql-p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456-dmysql:5.7.262.1 查看mysql容器:dockerps|grepmysql2.2进入容器:dockerexec-itmysql/bin/bash ......
  • java.lang.OutOfMemoryError: Java heap space 一次堆内存溢出异常处理
    问题:在获取人员信息同步到系统中时出现了错误 Javaheapspace,解决:堆内存溢出,在网上查询了诸多资料,解决办法都是增加JVM的内存:JAVA_OPTS="-server-Xms2048m-Xmx2048m-XX:PermSize=256M-XX:MaxNewSize=512m-XX:MaxPermSize=512m" ,尝试增加内存后还是失败     ......
  • Compose动画原理-我的一点小思考
    思想Compose的动画系统是基于值系统的动画,和传统的基于回调的动画不同,Compose的动画api通常对外暴露一个可观察的随时间改变的状态,进而驱动重组或者重绘,从而达成动画的效果基本使用可见性动画使用AnimatedVisibility,内容尺寸动画用animateContentSize,根据不同的状态展示不同的Com......
  • docker安装redis
    docker安装Redis拉取镜像dockerpullredis创建目录mkdir/tool/redis镜像里不包含配置文件,需要拉取redis最新的配置文件,查看下载完成直接通过ftp传到/tool/reids目录下就行因为是官方配置,需要我们手动改下配置:#常用配置bind127.0.0.1 #注释掉这部分,使redis可以......
  • 配置docker、git环境与项目创建
    ssh-keygencd.ssh/配置Hostserver(别名)HostNameipUser随便配置免密登录:ssh-copy-idserver镜像位置/var/lib/acwing/docker/images/django_lesson_1_0.tar传到云服务器:dockerload-idjango_lesson_1_0.tar查看是否成功生成映像生成docker容器,20000......
  • 通过Docker搭建Debezium同步MySQL的数据变化
    Debezium是红帽开发的一款CDC产品,和阿里的Canel类似,都是同步binlog,不过强大了一点点。为了不再麻烦,下面称之为dbz。达拉崩吧斑得贝迪卜多比鲁翁...dbz的搭建依赖很多中间件:首先要有个MySQL库,dbz来读取数据库binlog(和数据库当前快照);读到后发给kafka,与kafka通信的叫connector;kaf......
  • Java替换RequestBody和RequestParam参数的属性
    Java替换RequstBody和RequestParam参数的属性本文主要讲解在Java环境中如何替换RequestBody和RequestParam参数中的属性背景近期由于接手的老项目中存在所有接口中新增一个加密串来给接口做一个加密效果(项目历史原因,不方便上Jwt授权这套),所以就研究了一下Http请求链路,发现可......
  • 关于Windows打印机驱动相关问题-如何利用Java(或其他)调用打印机驱动程序完成原始文件翻
    前面这些都是问题描述,问题在偏下面场景:用户电脑上安装了PCL驱动,可通过驱动完成打印。需求:现在需要提供一种脱离PC端完成文件上传并打印的功能。让用户使用手机或pc未安装驱动时都能打印文件。目前思路:首先上传文件这一步没有任何问题,开发了相应的H5界面,通过浏览器进行原始文件......
  • docker-搭建一主两备redis集群
    一目的docker-搭建一主两备redis集群概述:目前要搭建一个“一主两备”redis集群,这个三个容器中redis的端口号为默认的6379,对外暴露的端口为6701,6702,6703,其中6701为master。6702和6703为slave二实现1.准备三份配置文件 1.1配置文件可从网上下载,下载后,可按该贴作修改,http......
  • ksa的内网穿透docker服务端部署
    ksa的内网穿透docker服务端部署1.ksa的docker服务端部署安装docker环境操作系统基础服务关闭#关闭防火墙systemctlstopfirewalldsystemctldisablefirewalld#关闭selinuxsed-i's/enforcing/disabled/'/etc/selinux/config#永久setenforce0#临时......