У меня очень простое приложение Flask, запущенное в одном док-контейнере.Когда я запускаю приложение, используя eb local run
, оно «работает» в том смысле, что создается образ докера, и в итоге я вижу вывод журнала из фляги, сообщающий мне, что он готов для запросов.Но когда я на самом деле пытаюсь запросить работающее приложение, запросы сразу же завершаются с ошибками, говорящими «сайт не может быть достигнут».Кажется, что приложение работает в контейнере, но как-то порты отображаются неправильно?Кроме того, когда я запускаю его, используя docker run ...
, он работает полностью, и я могу запросить приложение.
Используемая команда: eb local run --port 5000 --envvars APP_ENV=LOCAL
Мой Dockerrun.aws.json:
{
"AWSEBDockerrunVersion": "1",
"Ports": [
{
"ContainerPort": 5000,
"HostPort": 5000
}
]
}
Мой Dockerfile:
FROM python:3
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
EXPOSE 5000
ENTRYPOINT [ "python" ]
CMD [ "application.py" ]
Мой .elasticbeanstalk / config.yml:
branch-defaults:
python3:
environment: fs-service-prod
environment-defaults:
fs-service-prod:
branch: null
repository: null
global:
application_name: followspot-service
default_ec2_keyname: null
default_platform: arn:aws:elasticbeanstalk:us-east-1::platform/Docker running on
64bit Amazon Linux/2.12.11
default_region: us-east-1
include_git_submodules: true
instance_profile: null
platform_name: null
platform_version: null
profile: null
sc: git
workspace_type: Application
Вывод eb local status
:
Platform: 64bit Amazon Linux 2018.03 v2.12.11 running Docker 18.06.1-ce
Container name: 6739a687fa2d18f1c683926f024c88bed9f5c6c7
Container ip: 127.0.0.1
Container running: True
Exposed host port(s): 5000
Full local URL(s): 127.0.0.1:5000
Большое спасибо за любую помощь, которую вы можете оказать мне, и дайте мне знать, если есть хороший способ получить более полезную информацию.