在AWS Beanstalk上部署docker仅提供html文件,而不提供其他文件

时间:2018-02-11 08:23:48

标签: amazon-web-services docker port elastic-beanstalk

我试图将此项目部署到AWS Elastic Beanstalk:https://github.com/coralproject/talk dockerfile公开了端口5000,我也使用端口5000定义了环境变量。

当我使用推荐的docker-compose文件(https://coralproject.github.io/talk/installation-from-docker/#installing)在本地运行项目时,一切都在本地工作正常。

但是当我将应用程序部署到Beanstalk时,html页面会被提供并加载正常,但是本地引用的其他文件(例如我的bundle.js和favicon文件)将返回502.

我错过了什么?

可能相关的日志:

  

/var/log/eb-activity.log     cat:/var/app/current/Dockerrun.aws.json:没有这样的文件或目录   8c17e6ddb0f842e592940a3aa67d0f39ec8702eb4ad6c3f9b876fc33b7f02ddc   [2018-02-11T08:29:26.836Z] INFO [24507] - [应用程序更新   app-5d978-180211_092600@12/AppDeployStage1/AppDeployEnactHook/01flip.sh]   :开始活动...... [2018-02-11T08:29:28.428Z] INFO [24507] -   [应用程序更新   app-5d978-180211_092600@12/AppDeployStage1/AppDeployEnactHook/01flip.sh]   :已完成的活动。结果:nginx:[warn]重复的MIME类型   “text / html”in   /etc/nginx/sites-enabled/elasticbeanstalk-nginx-docker-proxy.conf:11
  停止nginx:[确定]启动nginx:nginx:[warn]重复   MIME类型“text / html”in   /etc/nginx/sites-enabled/elasticbeanstalk-nginx-docker-proxy.conf:11
  [OK] cat:/var/app/current/Dockerrun.aws.json:没有这样的文件或   目录/opt/elasticbeanstalk/hooks/common.sh:line 95:[:1:   一元运算符预期iptables:保存防火墙规则   / etc / sysconfig / iptables:[确定]

nginx访问日志仅显示html请求而不显示其他文件

  

/var/log/nginx/access.log   95.90.245.122 - - [11 / Feb / 2018:22:43:00 +0000]“GET / HTTP / 1.1”302 72“ - ”“Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36   (KHTML,像Gecko一样)Chrome / 63.0.3239.132 Safari / 537.36“   95.90.245.122 - - [11 / Feb / 2018:22:43:00 +0000]“GET / admin / install HTTP / 1.1”304 0“ - ”“Mozilla / 5.0(Windows NT 10.0; Win64; x64)   AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 63.0.3239.132   Safari浏览器/ 537.36"   95.90.245.122 - - [11 / Feb / 2018:22:45:57 +0000]“GET / admin / install HTTP / 1.1”304 0“ - ”“Mozilla / 5.0(Windows NT 10.0; Win64; x64)   AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 63.0.3239.132   Safari浏览器/ 537.36"   95.90.245.122 - - [11 / Feb / 2018:22:46:04 +0000]“GET / HTTP / 1.1”302 72“ - ”“Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36   (KHTML,像Gecko一样)Chrome / 63.0.3239.132 Safari / 537.36“   95.90.245.122 - - [11 / Feb / 2018:22:46:04 +0000]“GET / admin / install HTTP / 1.1”304 0“ - ”“Mozilla / 5.0(Windows NT 10.0; Win64; x64)   AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 63.0.3239.132   Safari浏览器/ 537.36"

我在访问该页面时看到了这一点:

  

安装:45 GET   https://talk-now.us-east-1.elasticbeanstalk.com:5000/static/coral-admin/bundle.js   net :: ERR_CONNECTION_REFUSED:5000 / public / img / favicon-32x32.png:1 GET   https://talk-now.us-east-1.elasticbeanstalk.com:5000/public/img/favicon-32x32.png   net :: ERR_CONNECTION_REFUSED:5000 / public / img / favicon-16x16.png:1 GET   https://talk-now.us-east-1.elasticbeanstalk.com:5000/public/img/favicon-16x16.png   net :: ERR_CONNECTION_REFUSED:5000 / public / img / favicon-96x96.png:1 GET   https://talk-now.us-east-1.elasticbeanstalk.com:5000/public/img/favicon-96x96.png   净:: ERR_CONNECTION_REFUSED

1 个答案:

答案 0 :(得分:0)

问题是您在存储库的根级缺少Dockerrun.aws.json文件。 Beanstalk必须使用此文件来确定如何在项目中执行容器集。

另请注意,此文件中各部分的格式与Amazon ECS Task definitions

的格式类似