如何使用nginx + docker将AngularJS应用程序部署到Elastic Beanstalk?

因此,我正在将AngularJS应用程序部署到AWS Elastic Beanstalk实例。

我已经成功地configuration了构build需求,这需要上传一个Dockerrun.aws.json文件,该文件被configuration为访问一个S3存储桶,该存储桶包含用于访问我的私有Docker .dockercfg文件。

一切都成功,nginx运行。 我得到了默认的“欢迎使用Debian上的nginx”! 信息。

所以我唯一遇到的问题是现在将我的AngularJS应用程序的构build指向活动/主页(出现“欢迎…”屏幕的地方)。

所有的应用程序的内容都存储在项目的根目录,这是我的Dockerfile所在的位置。

从我迄今为止所收集到的信息来看,我认为我需要遵循以下几点:

 FROM nginx COPY /build/ /usr/share/nginx/html 

放置在Dockerfile ,但是这些特定的命令不起作用。

我相信这是相当微不足道的实现我希望,但已经搜遍各种文章和文件,我找不到一个简单的答案。 任何帮助非常感谢。

所以我实际上找到了适当的解决办法,在我写这个问题几分钟之后,就是典型的方式。

卡波特的答案也是沿着正确的路线,但它不是那里,所以为了好的措施这里的答案是:

 COPY <directory_containing_app_index> /var/www/html/ 

公共html存储在nginx目录/var/www/html/ 。 我从nginx的docker页面复制了/usr/share/nginx/html/ ,虽然我没有想到这是正确的,但似乎从解释是这样做的。

你快到了。 尝试省略Dockerfile的复制命令中的第一个斜杠,因此它将使用相对于Dockerfile的路径:

COPY build /usr/share/nginx/html/