Docker vs旧方法(主管,git,你的项目)

时间:2017-06-16 14:27:21

标签: python django git docker

我在Docker上工作了几个星期,我可以说我喜欢它,我明白了。但我无法弄清楚的是如何“转移”我目前在Docker解决方案上的设置。我想我不是唯一一个,这就是我的意思。

我是Python人,更具体地说是Django。所以我通常都有这个:

  • Debian安装
  • 我在服务器上的应用程序(来自git repo)。
  • 包含所有应用依赖关系的Virtualenv
  • 负责管理运行我的Django应用程序的Gunicorn的主管。

当我想要升级和/或重新启动应用程序时(我使用fabric执行这些任务)我连接到服务器,导航到app文件夹,运行git pull,重新启动处理的超级用户任务Gunicorn重新加载我的应用程序。热潮,完成。

但是当我使用Docker时,修改此设置的正确(更好,更多Docker-ish)方法是什么?我是否应该以某种方式连接到docker image bash每次我想升级应用程序并运行升级或(从我看到的)我应该将应用程序暴露在Docker镜像文件夹中并运行标准升级过程吗?

希望你得到老同学的困惑。我打赌Docker的家伙正在考虑这个问题。

干杯!

1 个答案:

答案 0 :(得分:2)

对于开发,docker用户通常会将其构建目录中的文件夹挂载到Dockerfile所在的同一位置的容器中,否则COPY。这允许快速开发,其中最多需要弹回容器而不是重建图像。

对于生产,您希望在图像中包含所有内容而不更改它,只有持久数据在卷中,代码在图像中。当您对代码进行更改时,您将构建一个新映像并替换正在运行的正在运行的容器。

登录容器并手动更新内容是我在开发Dockerfile时要测试的,而不是管理正在开发的应用程序。