#docker #amazon-ec2 #amazon-ecs
#докер #amazon-ec2 #amazon-ecs
Вопрос:
Я довольно новичок в docker и aws ecs. Я пытаюсь развернуть приложение, которое передает информацию через общий том между обоими приложениями. Когда я запускаю локально docker-compose, он работает локально, однако, когда я пытаюсь развернуть его как кластер EC2 с использованием ecs-cli, контейнеры останавливаются с кодами выхода: ошибка боке
ОШИБКА: Путь к серверному приложению Боке не существует: /bokeh_app/bokeh_app.py
и ошибка с колбой.
python: не удается открыть файл ‘/flask_app/flask_app.py’: [Ошибка 2] Такого файла или каталога нет
Структура каталогов:
- bokeh_app - bokeh_app.py - Dockerfile - flask_app - flask_app.py - static - Dockerfile - docker-compose.yml - ecs-params.yml
Док-файл Боке
ИЗ python:3.9.1
ADD . /bokeh_app WORKDIR /bokeh_app COPY requirements.txt . RUN pip install -r requirements.txt RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - RUN apt-get install nodejs EXPOSE 5006 CMD bokeh serve bokeh_app.py
Док-файл колбы
FROM python:3.9.1 ADD . /flask_app WORKDIR /flask_app COPY requirements.txt . RUN pip install -r requirements.txt EXPOSE 8000 COPY . . ENTRYPOINT ["python", "flask_app.py"]
Мне интересно, перезаписывают ли монтируемые привязки каталоги приложений, поскольку это была предыдущая проблема, возникшая у меня во время локальной разработки, которую я (думал, что я) исправил, скопировав каталог приложений на свой собственный том с помощью —
‘./flask_app/:/flask_app’
as shown in the docker-compose file I used below. How can I restructure or improve my application configuration?
docker-compose.yml
version: '3' services: flask_app: image: 123456789.cla.ecr.us-west-2.amazonaws.com/app/flask_app:latest ports: - "80:8000" build: context: . dockerfile: flask_app/Dockerfile volumes: - './flask_app/:/flask_app' - 'NewVol:/newvol' logging: driver: awslogs options: awslogs-group: inter_dep awslogs-region: us-west-2 awslogs-stream-prefix: flask bokeh_app: image: 123456789.cla.ecr.us-west-2.amazonaws.com/app/bokeh_app:latest ports: - "5006:5006" build: context: . dockerfile: bokeh_app/Dockerfile volumes: - 'NewVol:/newvol' - './bokeh_app/:/bokeh_app' logging: driver: awslogs options: awslogs-group: inter_dep awslogs-region: us-west-2 awslogs-stream-prefix: bokeh volumes: NewVol: