1

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

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

如果我们需要一些需要从我的项目存储库中提取的小更改。但是您可能知道,我们已经部署了我们的码头工人。

将这些更改拉入已部署的 Docker 容器的最佳方法是什么?

我希望我们不必:

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

我刚在想

通过 SSH 连接到运行 Docker 的 VM

git pull
npm start 

我在正确的轨道上吗?

4

2 回答 2

1

您可以使用docker service update --image https://docs.docker.com/engine/reference/commandline/service_update/#options 我没有使用 AWS 的经验,但我认为您可以自动构建和更新。

于 2017-12-06T22:18:04.417 回答
1

如果您想将 Docker 容器视为虚拟机,您完全可以,但是,我强烈提醒您不要这样做。容器中的任何内容都是短暂的……如果您对其中的文件进行更改并且容器出现故障,它将不会随着更改而恢复。

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

此命令将在所需容器内启动交互式 bash 会话。有关更多信息,请参阅文档

docker exec -it <container_name> bash

最佳实践可能是更新 docker 映像并重新部署它。

于 2017-12-07T00:04:53.510 回答