我应该在我的泊坞窗图像中包含我的Web应用程序源代码,还是在运行容器时安装它?

我对Docker非常陌生,对于使用Web应用程序的项目,我正在考虑使用它。

我build立了一个dockerfile ,用Tomcat和Apache安装CentOS镜像。

我很困惑,如果我应该包括我的web应用程序的源代码,以便它将被包含在图像中,或者如果我应该在运行容器时使用-v命令挂载?

我看的方式是我认为在我运行时挂载它会更容易,因为我可以从SVN检出我的代码,停止容器,重新部署(不知道这两个是否需要?),这将是更新。 如果我要在图像中包含源代码,我将不得不检出代码,重build图像,停止容器,然后重新部署新的代码 – 至less增加一个额外的步骤。

相互使用一个有什么优点/缺点?

一个好的方法是不把它作为容器的一部分。 这将使您更灵活地维护您的容器和代码。

build议:

  1. 无论何时部署,容器镜像都会从SVN / Git(或者你使用的任何版本化工具)中进行最新的签出,并加载该应用程序代码。

  2. 你可以不断提交你的代码更改为SVN,容器将永远有最新的代码,每当运行。

  3. 您可以分发您的图像,而不必担心隐藏在容器中的秘密或密钥。 通过正确使用SVN,可以很好地pipe理安全性。

  4. 这也允许你使用与开发环境相同的容器,通过安装代码库(使用开发特定的环境设置),并在docker镜像上运行它,然后将修改提交到你的SVN仓库。