Я создал одно приложение Docker Python.Протестировал его с помощью локального запуска Docker, и он работает нормально.Я
Я открыл порт 8000, а также включил файл Dockerrun.aws.json и использовал этот файл только потому, что изображение уже загружено в Docker Hub
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "njdocker2014/snakeeyes:2",
"Update": "true"
},
"Ports": [
{
"ContainerPort": 8000,
"HostPort": 8000
}
],
"Logging": "/var/log/snakeyes",
"Command": "gunicorn -b 0.0.0.0:8000 --access-logfile - 'snakeeyes.app:create_app()'"
}
Dockerfile как EXPOSE 8000
И Docker работает в контейнере EC2, как показано ниже,
[ec2-user@ip-172-31-47-66 ~]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dd757b4a0102 8af7a8cee988 "gunicorn -b 0.0.0.0…" 8 minutes ago Up 8 minutes 8000/tcp condescending_pare
Когда я обращаюсь к URL-адресу EB DNS, он выдает 404 Not Found, и даже журналы Docker также показывают то же самоеОшибка,
[2019-03-25 06:47:01 +0000] [10] [INFO] Booting worker with pid: 10
172.17.0.1 - - [25/Mar/2019:06:53:17 +0000] "GET / HTTP/1.1" 404 232 "-" "-"
Что еще нужно сделать, чтобы отправить запрос на порт 8000 внутри контейнера.