Docker过程 - 将本地副本视为登台服务器?

时间:2015-03-01 07:10:10

标签: docker

我已经阅读了一些关于docker的内容,并且只阅读了以下过程:

  1. 使用Dockerfile构建容器
  2. 将容器推送到repo / server
  3. 运行容器
  4. 新版本,转到步骤1)
  5. 声称这是快速的,有时是。但是,通常在这些食谱中,我会看到'git pull'或'add'步骤,然后是bundle install或其他一些准备步骤。如果你总是这样做,你会丢掉相当多的进度并开始这些过程,就好像你从未安装过你的应用程序一样,尽管它不必重新安装任何先决条件。更不用说,你必须将一堆大图像上传到你的服务器 - 其中大部分都是重复的东西。

    对我来说,更好的程序可能是将本地Docker实例视为登台服务器,ssh-in(让神奇的SSH用户代理转发更可靠地工作),更新代码,测试,然后提交更改并将其推送到运行Docker实例的任何云服务。

    我错过了什么吗?这是每个人实际做的事情,但并没有真正写下来(因为它更复杂)?或者我是不是偶然发现了谈论这个问题的文章?

1 个答案:

答案 0 :(得分:0)

Docker容器通常遵循“黄金映像”规则 - 如果您需要更新它,则可以创建新映像。

因为Docker缓存构建Dockerfiles的中间结果,后续构建往往很快。此外,图像的构建往往是自动化的(例如,参见Docker Hub上的自动构建),因此只要它不需要很长时间,就不会有问题。

确实不希望手动更改容器,因为您将无法跟踪更改并无法重新创建它们。