首页  

Docker Compose Java 应用 command 多行参数示例     所属分类 docker 浏览量 17
Docker Compose Java 应用 command 多行参数示例

docker-compose.yml 配置
Java 应用 + 多行 command 启动参数

Docker Compose 支持 数组格式 和 竖线格式 两种多行 command,
推荐数组格式(更规范、无转义问题)。


数组格式(推荐)	
每行一个参数,用 - 开头	无转义、无空格问题、Docker 原生支持、不易报错	
语法严格,必须每行一个参数




version: '3.8' services: java-app: image: openjdk:17-jdk-slim container_name: my-java-app working_dir: /app volumes: - ./demo.jar:/app/demo.jar ports: - "8080:8080" # 极简多行 command command: - java - -Xms256m - -Xmx512m - -jar - demo.jar - --spring.profiles.active=test
version: '3.8' services: java-app: # 基础镜像(Java 运行时,根据你的项目修改版本) image: openjdk:17-jdk-slim # 容器名称 container_name: my-java-app # 工作目录(jar 包存放路径) working_dir: /app # 挂载本地 jar 包到容器 volumes: - ./target/demo.jar:/app/demo.jar # 端口映射(主机:容器) ports: - "8080:8080" # 环境变量 environment: - TZ=Asia/Shanghai - SPRING_PROFILES_ACTIVE=prod - JVM_OPTS=-Xms512m -Xmx1024m # ===================== 核心:多行 command 启动参数 ===================== # 写法1:数组格式(推荐!无语法错误,最稳定) command: - java - ${JVM_OPTS} - -jar - demo.jar - --server.port=8080 - --spring.datasource.url=jdbc:mysql://mysql:3306/test_db - --spring.datasource.username=root - --spring.datasource.password=123456 # 写法2:竖线 | 格式(纯字符串多行,适合复杂命令) # command: | # java ${JVM_OPTS} -jar demo.jar \ # --server.port=8080 \ # --spring.datasource.url=jdbc:mysql://mysql:3306/test_db \ # --spring.datasource.username=root \ # --spring.datasource.password=123456 # 可选:配套 MySQL 服务(Java 应用常用依赖) mysql: image: mysql:8.0 container_name: mysql ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD=123456 - MYSQL_DATABASE=test_db volumes: - mysql-data:/var/lib/mysql # 数据卷持久化 volumes: mysql-data:

上一篇     下一篇
JDBC流式查询

docker容器内访问宿主机文件

Java应用镜像不同架构的区别

Docker Compose 常用排查命令

Docker Compose 设置 SpringBoot应用配置参数

springboot应用查看配置值及来源