在docker容器中捆绑源代码

时间:2016-02-25 14:35:34

标签: amazon-web-services deployment docker production-environment

我已将我的应用设置为在docker容器中运行,我对它非常兴奋。

在开发中,我可以超快地构建容器,因为容器的源代码和资产在容器上下文之外 - 然后我只需使用docker run命令上的-v标志将wwwroot目录映射到容器中。它很棒!

但是,现在我已经设置了一个Elastic Beanstalk应用程序(配置为docker),我正在寻找将容器部署到它。我认为-v生产方法不正确,我可能需要一个单独的Dockerfile进行生产,实际COPY我的源代码进入容器?那么也许这就是我推向码头集线器的容器,并以某种方式发送到Elastic Beanstalk。

或者这里有更好的方法吗?我还没有找到任何明确的方向来解决这个问题。

2 个答案:

答案 0 :(得分:2)

最佳实践指定Dockerfile应尽可能短暂。因此,标志-v实际上是共享代码的正确方式。代码不应进入图像。

答案 1 :(得分:1)

对于生产,您需要一个Dockerfile,将Web应用程序所需的资产(源代码或二进制文件)复制到容器中。否则,将其部署到本地计算机以外的任何位置都将无效。

理想情况下,开发和生产Dockerfiles应该是相同的。这样,您的开发就发生在与生产匹配(尽可能接近)的环境中。