【问题标题】:How to deploy AngularJS app using nginx + docker to Elastic Beanstalk?如何使用 nginx + docker 将 AngularJS 应用程序部署到 Elastic Beanstalk?
【发布时间】:2015-04-07 22:15:03
【问题描述】:

所以我正在将 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 中,但是那些特定的命令不起作用。

我确信实现我希望的目标相对简单,但是在搜索了各种文章和文档后,我找不到一个简单的答案。非常感谢任何帮助。

【问题讨论】:

    标签: angularjs amazon-web-services nginx docker


    【解决方案1】:

    所以在我写完这个问题几分钟后,我实际上以典型的方式找到了正确的解决方案。

    Kapott 的答案也是正确的,但它并不完全在那里,所以为了更好地衡量,这是答案:

    COPY <directory_containing_app_index> /var/www/html/
    

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

    【讨论】:

    • COPY 也会复制一个目录,通常应该优先于 ADD。
    • 我确实想知道,我实际上说过,因为我读过一些东西,我没有事先检查 COPY,因为它无论如何都可以与 ADD 一起使用,我会修改我的答案。谢谢!
    【解决方案2】:

    你快到了。尝试在 Dockerfile 的复制命令中省略第一个斜杠,以便它采用相对于 Dockerfile 的路径:

    COPY build /usr/share/nginx/html/

    【讨论】:

      猜你喜欢
      • 2015-09-21
      • 2020-09-02
      • 2015-07-17
      • 2017-02-17
      • 2013-12-15
      • 2021-02-11
      • 2018-12-07
      • 2022-06-11
      • 2020-11-14
      相关资源
      最近更新 更多