如何将Docker文件部署到真机上

背景:我正在使用Docker来构build我的开发环境(Web应用程序,nginx,gunicorn,postgress需要提及的几个)。 我希望我的开发环境与生产环境相匹配。 我现在使用Debian 7作为基础发行版,但问题不是与Debian相关的。 我不希望docker上的实际生产(安全更新,监控,日志logging提及less数,但多数民众赞成在不同的问题为什么不),但我想使用真正的Debian 7作为生产环境。

问题:有没有办法以本地命令的forms运行构builddocker-image的命令,例如: docker deploy_to_host <Dockerfile> ,它将以root用户命令的forms运行RUN指令。这与我将主机根用户命令open和手动复制粘贴命令。

谢谢!

在我看来,你正在使用一套错误的工具,所以我的答案不是关于Docker,这就是为什么:

如果您要在没有Docker的生产环境中进行部署,并希望有某种自动过程来准备机器并部署应用程序,那么您正在寻找如下工具:

  • 厨师
  • 木偶
  • SaltStack
  • Ansible
  • 或者只是shell脚本

一旦决定如何部署到生产环境,您可以查看自己的开发环境选项。

由于您在生产环境中没有使用Docker,因此在您的开发环境中使用它几乎没有兴趣。 然后,我会考虑使用Vagrant来定义一个(或多个)虚拟机,并让Vagrant使用您为生产环境select的工具来准备这些VM。 (厨师,Puppet,SaltStack,Ansible或shell脚本)。 请参阅Vagrantconfiguration 。

这将具有testing您的部署解决scheme的优点,以及在开发环境上testing您的应用程序的优点,并build立所有这些将在部署到产品时按预期工作的信心。

您可以使用这里涵盖的远程docker API请参阅2.3 Misc和命令POST /build 。 简而言之,您可以将包含Dockerfile及其根的tar文件发布到Dockerfile守护程序,以在远程计算机上构build。

UPD :答案不是我的注意力不集中的原因。