为什么docker compose无法使用Dockerfile中指定的正确命令部署war文件?
我已经在Dockerfile中指定了以下docker命令(1)来运行war文件,但是正在执行的命令是/bin/bash。docker-compose.yml使用docker文件运行mysql和jar文件。如何使命令从Dockerfile中的入口点获取?我非常感谢任何形式的帮助和知识分享 我的Dockerfile:为什么docker compose无法使用Dockerfile中指定的正确命令部署war文件?,docker,docker-compose,Docker,Docker Compose,我已经在Dockerfile中指定了以下docker命令(1)来运行war文件,但是正在执行的命令是/bin/bash。docker-compose.yml使用docker文件运行mysql和jar文件。如何使命令从Dockerfile中的入口点获取?我非常感谢任何形式的帮助和知识分享 我的Dockerfile: FROM openjdk:11 EXPOSE 8080 ADD target/dashboard---back-end.war dashboard---back-end ENTR
FROM openjdk:11
EXPOSE 8080
ADD target/dashboard---back-end.war dashboard---back-end
ENTRYPOINT ["java", "-jar", "dashboard---back-end.war"] <-- (1)
运行docker ps-a
,将显示当前命令与预期命令之间的差异
在运行mysql之后,命令提示符就停在那里,下面显示了当前情况,以及在运行docker-compose-f docker-compose.yml up
命令时应该看到的内容
version: '3'
services:
mysql-standalone: #container name for the mysql
image: 'mysql:5.7' #mysql docker image
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_PASSWORD=root
- MYSQL_DATABASE=dashboard2
ports:
- "3307:3306"
dashboard---back-end:
image: dashboard---back-end
ports:
- "8080:8080"
stdin_open: true
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://mysql-standalone:3306/dashboard2?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
SPRING_DATASOURCE_USERNAME: "root"
SPRING_DATASOURCE_PASSWORD: "root"
build:
context: "./"
dockerfile: "Dockerfile"
depends_on:
- mysql-standalone