【发布时间】:2018-10-17 09:10:36
【问题描述】:
docker 容器无法访问通过挂载点/my/project/dir 访问的 jar 文件。
我确定这不是权限问题,因为我在本地更改了访问权限,所以它应该能够读/写/执行它。
这是Dockerfile:
FROM tomcat:9-jre8
RUN apt-get update && apt-get install librrds-perl rrdtool -y
VOLUME ["/data/rrdtool", "/my/project/dir"]
ENTRYPOINT [ "java","-jar","/my/project/dir/build/libs/spring-project-0.1.0.jar" ]
这是docker-compose.yml 文件:
version: '2'
services:
db:
container_name: db1
image: mysql:8
restart: always
environment:
MYSQL_ROOT_PASSWORD: password123
MYSQL_USER: user123
MYSQL_PASSWORD: pasw
MYSQL_DATABASE: mydb
expose:
- "3307"
db2:
container_name: db2
image: mysql:8
restart: always
environment:
MYSQL_ROOT_PASSWORD: password123
MYSQL_USER: user123
MYSQL_PASSWORD: pasw
MYSQL_DATABASE: mydb2
expose:
- "3308"
spring:
container_name: spring-boot-project
build:
context: ./
dockerfile: Dockerfile
links:
- db:db1
- db2:db2
depends_on:
- db
- db2
expose:
- "8081"
ports:
- "8081:8081"
restart: always
这是docker-compose logs spring的输出:
Error: Unable to access jarfile /my/project/dir/build/libs/spring-project-0.1.0.jar
【问题讨论】:
-
这很难在没有看到任何错误消息的情况下回答。你能运行
docker-compose logs spring并发布输出吗? -
你确定你在卷
/my/project/dir中有build/libs/spring-project-0.1.0.jar吗? -
@mbuechmann 我添加了日志
-
@BukharovSergey 我很确定它存在。当我在本地机器上运行
java -jar /my/project/dir/build/libs/spring-project-0.1.0.jar时,应用程序就会启动。
标签: java docker spring-boot jar docker-compose