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

时间:2015-04-07 12:07:32

标签: angularjs amazon-web-services nginx docker

所以我正在将AngularJS应用程序部署到AWS Elastic Beanstalk实例。

我已成功配置构建要求,其中包括上传配置为访问S3存储桶的Dockerrun.aws.json文件,该存储桶又包含.dockercfg文件,用于访问我的私有Docker存储库。

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

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

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

到目前为止,我认为我需要按照以下方式进行:

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

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

我确信实现我所希望的相对微不足道,但在搜索各种文章和文档后,我找不到简单的答案。任何帮助非常感谢。

2 个答案:

答案 0 :(得分:2)

因此,在我写完这个问题几分钟之后,我就以典型的方式找到了正确的解决方案。

Kapott的回答也是正确的,但是它并不完全存在,所以在这里可以很好地衡量答案:

COPY <directory_containing_app_index> /var/www/html/

公共html存储在nginx目录/var/www/html/中。我从nginx docker page复制了/usr/share/nginx/html/,虽然我没想到这是正确的,但从解释中可以看出是这样做的。

答案 1 :(得分:1)

你几乎就在那里。尝试省略Dockerfile的复制命令中的第一个斜杠,因此它采用相对于Dockerfile的路径:

COPY build /usr/share/nginx/html/