如何将 wolkenkit 应用程序部署到数字海洋?

How to deploy a wolkenkit application to digital ocean?

目前我正在使用 wolkenkit (https://www.wolkenkit.io/) 进行一个项目。 在我的机器上本地一切正常(它带有一个 docker 容器)。现在我想把它部署到数字海洋中更进一步。

在官方文档中有几行是关于分配 docker 机器 (https://docs.wolkenkit.io/1.0.1/reference/configuring-an-application/assigning-a-docker-machine/) 的。

是否有任何guides/advices/tutorials以适合数字海洋的更详细的方式解决这个主题?

免责声明:我是 wolkenkit 的开发者之一,所以请对我的回答持保留态度。

基本上,首先取决于你是如何创建机器的:因为你基本上需要一台 运行s Docker 的机器,最简单的方法是使用 docker-machine 来设置它了。有关详细信息,请参阅 Docker documentation.

完成此操作后,您有两种选择:

  1. 可以使用docker-machine env命令selectDigitalOcean机器为当前活动机器,然后运行wolkenkit start照常。由于 selected 机器存储在许多环境变量中,例如 DOCKER_HOST,wolkenkit CLI 工具使用这些信息来访问 Docker 主机。

  2. 第二个选项是将新环境添加到您的 wolkenkit 应用程序的 package.json 文件中,如 here 所述。通常,您需要做的就是提供您创建的 docker-machine 机器的名称。在这种情况下,wolkenkit CLI 将负责自动配置连接,因此您不必手动执行此操作。然后您使用 wolkenkit start --env production 启动您的应用程序,假设您的环境名为 production.

如果您不经常更换机器,第一种方法效果最好。如果您大部分时间都在本地工作,很少部署到云端,那么第二种是最好的。后一种方法还使您能够定义多个环境,例如 productionstagingtest、……并根据命令行标志部署到一个或另一个环境。

请注意,您还可以使用 WOLKENKIT_ENV 环境变量来定义除 default(这是 CLI 的默认值)之外的默认环境。

希望这对您有所帮助:-)

PS: 请注意,您的 Droplet 应该至少有 1 GByte 的 RAM,因此最小的实例可能太小了。如果您使用 RAM 太少的 Droplet,Docker 容器似乎会按预期启动,但无法从外部访问它们。

PPS: 另请注意,您需要为您的 Droplet 提供有效证书,否则 CLI 将无法检测应用程序是否运行ning 与否(因为它无法通过无效证书)。这可能会在 CLI 的未来版本中更改。

感谢您的详细解答。我使用第二种方法向我的 package.json 添加了一个新环境。这对我有用:-)。使用 CLI 在几秒钟内部署更改感觉很棒 :-)

PS: 确保安装了最新版本的 docker-machine (>= 0.12.1)。否则数字海洋上的水滴创建过程将不会成功。