我必须执行以下步骤以部署我的 nodejs/angular 网站通过dockercloud
- 写Dockerfile
- 在我的dockerfiles上构建docker图像
- 将这些图像推到Docker Hub
- 在DockerCloud帐户上创建节点群集
- 在Dockercloud上写Docker堆栈文件
- 在DockerCloud上运行堆栈
- 请参阅在AWS中运行的实例,可以看到我的网站
如果我们需要一个小事,需要从我的项目存储库中拉出。但是,我们已经知道了您可能知道的。
将这些更改推入已经部署的Docker容器的最佳方法是什么?
我希望我们不必:
- 重建我们的Docker Images
- 将这些图像重新涂到Docker Hub
- 在DockerCloud上重新创建我们的节点群
- 在dockercloud上重写我们的docker堆栈文件
- 重新运行DockerCloud上的堆栈
我在想
ssh进入docker运行
的VMgit pull
npm start
我在正确的道路上吗?
您可以使用docker service update --image
https://docs.docker.com/engine/reference/commandline/service_update/#options我没有AWS的经历,但我认为您可以自动构建和更新。
如果您想将Docker容器视为VM,则可以完全警告一下。容器中的任何内容都是短暂的...如果您对其中的文件进行更改并且容器降低,则不会恢复更改。
也就是说,如果您可以访问服务器,则可以执行到容器中并执行所需的任何命令。通常对开发人员有帮助,但适用于任何容器。
此命令将在您所需的容器中启动交互式bash会话。有关更多信息,请参见文档。
docker exec -it <container_name> bash
最佳实践可能是更新Docker映像并重新部署它。