我应该在我的泊坞窗图像中包含我的Web应用程序源代码,还是在运行容器时安装它?
我对Docker非常陌生,对于使用Web应用程序的项目,我正在考虑使用它。
我build立了一个dockerfile
,用Tomcat和Apache安装CentOS镜像。
我很困惑,如果我应该包括我的web应用程序的源代码,以便它将被包含在图像中,或者如果我应该在运行容器时使用-v
命令挂载?
我看的方式是我认为在我运行时挂载它会更容易,因为我可以从SVN检出我的代码,停止容器,重新部署(不知道这两个是否需要?),这将是更新。 如果我要在图像中包含源代码,我将不得不检出代码,重build图像,停止容器,然后重新部署新的代码 – 至less增加一个额外的步骤。
相互使用一个有什么优点/缺点?
一个好的方法是不把它作为容器的一部分。 这将使您更灵活地维护您的容器和代码。
build议:
-
无论何时部署,容器镜像都会从SVN / Git(或者你使用的任何版本化工具)中进行最新的签出,并加载该应用程序代码。
-
你可以不断提交你的代码更改为SVN,容器将永远有最新的代码,每当运行。
-
您可以分发您的图像,而不必担心隐藏在容器中的秘密或密钥。 通过正确使用SVN,可以很好地pipe理安全性。
-
这也允许你使用与开发环境相同的容器,通过安装代码库(使用开发特定的环境设置),并在docker镜像上运行它,然后将修改提交到你的SVN仓库。