将堆栈部署到Docker for AWS的正确方法

问题描述:

我正在尝试将基于Docker-compose的堆栈部署到AWS的Docker(通过AWS CloudFormation创建)。将堆栈部署到Docker for AWS的正确方法

我编写的YAML文件在私有注册表(Gitlab)中的Git存储库和Docker映像中进行管理。

使用Manager部署服务的正确方式是什么?

我试图(和失败)的几种方法:

  1. 通过码头工人API当地码头工人客户合作是不可能的,因为码头工人对AWS管理器节点是不开放2375端口。
  2. 由于rsync未安装在Amazon Docker AMI上,因此Rsyncing将YAML和环境文件直接编写到管理器节点是不可能的。
  3. 从Gitlab卷曲文件似乎是一个非常不方便的做法。

感谢

;实测值(根据群文档中的一些评论)的方式来做到这一点或多或少正确:

创建SSH隧道经理: $ ssh -NL localhost:2374:/var/run/docker.sock [email protected]<manager ip> &

运行一切本地与 $ docker -H localhost:2374 info

或定义 export DOCKER_HOST=localhost:2374

,并使用泊坞窗为你,如果你在群经理 $ docker info

在我看来运行,有2个选项,你可以尝试

  1. 使用詹金斯,然后有一个名为发布插件通过SSH。您可以使用此插件发送您的撰写文件,然后运行诸如“docker stack deploy”之类的命令。 More description can be found here
  2. 您可以使用Docker云将您的群集带到您的本地终端,类似于您已完成的操作。跟着这link

第一种方法更好,因为你已经自动部署,现在你可以安排部署,单击按钮甚至在提交时运行它。

希望它有帮助!