我已将我的应用设置为在docker容器中运行,我对它非常兴奋。
在开发中,我可以超快地构建容器,因为容器的源代码和资产在容器上下文之外 - 然后我只需使用docker run命令上的-v标志将wwwroot目录映射到容器中。它很棒!
但是,现在我已经设置了一个Elastic Beanstalk应用程序(配置为docker),我正在寻找将容器部署到它。我认为-v生产方法不正确,我可能需要一个单独的Dockerfile进行生产,实际COPY
我的源代码进入容器?那么也许这就是我推向码头集线器的容器,并以某种方式发送到Elastic Beanstalk。
或者这里有更好的方法吗?我还没有找到任何明确的方向来解决这个问题。
答案 0 :(得分:2)
最佳实践指定Dockerfile应尽可能短暂。因此,标志-v
实际上是共享代码的正确方式。代码不应进入图像。
答案 1 :(得分:1)
对于生产,您需要一个Dockerfile,将Web应用程序所需的资产(源代码或二进制文件)复制到容器中。否则,将其部署到本地计算机以外的任何位置都将无效。
理想情况下,开发和生产Dockerfiles应该是相同的。这样,您的开发就发生在与生产匹配(尽可能接近)的环境中。