什么是最好的方式将更新的更改拉到已经部署的Docker容器?

我必须执行这些步骤来通过DockerCloud将我的Nodejs / Angular站点部署到AWS

  • 编写Dockerfile
  • 基于我的Dockerfiles构buildDocker映像
  • 将这些图像推送到Docker Hub
  • 在DockerCloud帐户上创build节点群集
  • 在DockerCloud上写入Docker堆栈文件
  • 在DockerCloud上运行堆栈
  • 查看在AWS中运行的实例,并可以看到我的网站

如果我们需要一个小东西的变化,需要从我的项目回购拉。 但是,我们已经部署了我们的docker工人,你可能知道。

将这些更改拖到已部署的Docker容器中的最佳方式是什么?

我希望我们不必:

  • 重build我们的Docker镜像
  • 将这些图像重新推送到Docker Hub
  • 在DockerCloud上重新创build我们的节点群集
  • 在DockerCloud上重新编写Docker堆栈文件
  • 在DockerCloud上重新运行堆栈

我刚在想

SSH到运行Docker的虚拟机中

git pull npm start 

我在正确的轨道上?

如果你想把一个Docker容器当作虚拟机,你完全可以,但是我会强烈地提醒你不要这样做。 容器中的任何东西都是短暂的…如果您对其中的文件进行了更改,并且容器发生故障,则不会再进行更改。

也就是说,如果你有权访问服务器,你可以在容器中执行任何你想要的命令。 通常对开发有帮助,但适用于任何容器。

这个命令将启动你想要的容器内的交互式bash会话。 有关更多信息,请参阅文档 。

docker exec -it <container_name> bash

最佳做法可能是更新Docker镜像并重新部署它。

Interesting Posts