在Docker容器中捆绑源代码

我已经安装了我的应用程序运行在docker集装箱,我很兴奋。

在dev中,我可以超级快速地构build容器,因为容器的源代码和资源都在容器上下文之外 – 那么我只需在docker run命令中使用-v标志将wwwroot目录映射到容器中。 这很好用!

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

还是有更好的方法吗? 我一直没能find明确的方向来解决这个问题。

最佳实践指定Dockerfile应尽可能短暂。 因此,flag -v实际上是共享代码的正确方式。 代码应该在图像中。

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

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