Я пытаюсь запустить два веб-сервиса в 2 отдельных контейнерах, но не могу запустить их оба одновременно.По отдельности они оба работают.
Моя структура проекта такова:
/
- docker-compose.yml
- Dockerfile
- pom.xml
- src/
- ... other spring boot web service folders and files
- Pirmas/
-Dockerfile
-app.py
-docker-compose.yml (it is not used when running both services)
Один веб-сервис находится в главном каталоге, другой - в каталоге "Pirmas".Я пытаюсь запустить docker composer из базовой папки, где находится служба весенней загрузки.Я использую команду "docker-compose up --build -d".
Тем не менее, после сборки запускается только веб-служба весенней загрузки, и когда я проверяю логи веб-службы фляги, она говорит: «python: не удается открыть файл app.py»: [Errno 2] Неттакой файл или каталог "
Мой весенний загрузочный сервис 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"]
Мой файл docker-compose.yml в том же каталоге:
version: '3'
services:
springboot-docker-compose-app-container:
build: .
ports:
- "80:5000"
depends_on:
- friendservice
volumes:
- .:/code
networks:
- mynet
friendservice:
build: ./Pirmas
command: python app.py
ports:
- 5000:5001
networks:
- mynet
networks:
mynet:
Мой Dockerfile вфлэш-веб-сервис:
FROM python:3
WORKDIR /code
COPY requirements.txt ./
RUN pip install -r requirements.txt
Наконец, docker-compose.yml, который, как я полагаю, не используется (из каталога веб-сервиса фляги "Pirmas"):
web:
build: .
command: python app.py
ports:
- "80:5000"
volumes:
- .:/code
Что япопробовал:
Я попытался удалить тома.Пробовал разные пути в docker-compose.yml как python ./Pirmas/app.py
Буду благодарен за любую помощь или идеи.
Спасибо.
EDIT
У меня похожая проблема при попытке запустить другой проект, но на этот раз приложение Spring Boot.
The project structure:/
- docker-compose.yml
- Dockerfile
- pom.xml
- src/
- ... other spring boot web service folders and files
- rest-bookstore/
-Dockerfile
-rest
-src
-target
-gs-rest-service-0.1.0.jar
Старый Docker-файл первой службы весенней загрузки такой же, как и новый:
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 копирует весь остальной каталог