我之前也遇到过类似的问题,因此建议创建一个新问题,再次无法运行两个服务,但这一次这两个服务都是Spring Boot。
The project structure:/
- docker-compose.yml
- Dockerfile
- pom.xml
- src/
- ... other spring boot web service folders and files
- rest-bookstore/ (the 2nd webservice)
-Dockerfile
-rest
-src
-target
-gs-rest-service-0.1.0.jar
-... other files and folders
第一个spring boot服务的Dockerfile(这是主要的,并且正常启动):
FROM maven:3.6-jdk-8 AS build
WORKDIR /code
COPY src /code/app/src
COPY pom.xml /code/app
RUN mvn -f /code/app/pom.xml clean install
FROM openjdk:8
COPY --from=build /code/app/target/SpringWebServiceToDoList-0.0.1-SNAPSHOT.jar SpringWebServiceToDoList-0.0.1-SNAPSHOT.jar
EXPOSE 5000
CMD ["java","-jar","SpringWebServiceToDoList-0.0.1-SNAPSHOT.jar"]
第二个Web服务的dockerfile:
FROM maven:3.6.0-jdk-8-alpine
COPY rest /rest
WORKDIR /rest
RUN mvn clean package
CMD java -jar target/gs-rest-service-0.1.0.jar --server.port=5000
还有docker-compose.yml
version: '3'
services:
springboot-docker-compose-app-container:
build: .
ports:
- "80:5000"
depends_on:
- friendservice
volumes:
- .:/code
networks:
- mynet
friendservice:
build: ./rest-bookstore
volumes:
- ./rest-bookstore:/rest
ports:
- 5000:5001
networks:
- mynet
networks:
mynet:
我得到错误:无法访问jarfile target / gs-rest-service-0.1.0.jar而且我不知道为什么,因为在第二个dockerfile中复制了整个rest目录。 我使用命令“ docker-compose up --build -d”。
谢谢您的帮助。