在docker容器中embedded代码或将其作为一个卷装入?

我是Docker的最近使用者,我即将从VM迁移到我的生产环境中的容器。 但是,我突然意识到,对于我的开发和质量pipe理环境来说,完美的工作对于生产来说并不理想。

在我的开发和QA,我将我的版本化项目文件夹到Python / PHP(名称)容器,我认为这个容器作为我的代码“运行服务”。 这样可以避免我拥有巨大的容器,因为当我更改代码(git commit或其他)时,容器历史logging不会改变。

在生产中,理想的情况是,我将拥有自己装载的干净的容器,里面有我的代码,而不像我在开发中那样安装。

那么,我错了吗? 你怎么做呢? 你使用相同的容器从开发刺?

我在我的开发环境中也是这样做的。 我有一个生产Dockerfile添加项目文件夹,然后我运行所有的testing。 由于开发容器和生产容器之间的区别在于代码添加到容器时,而不是代码或设置,它们具有相同的行为。

事实上,通过在运行时添加一个名为-v的参数,可以实现这一点

sudo docker run -i -t -v /home/ubuntu/my_code:/home/mydocker/my_code ubuntu/my_docker /bin/bash