javascript - 如何将 wolkenkit 应用程序部署到 digital ocean ?

标签 javascript docker digital-ocean docker-machine wolkenkit

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

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

是否有更详细的适合 digital ocean 的指南/建议/教程来解决这个主题?

最佳答案

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

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

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

  1. 您可以使用 docker-machine env 命令选择 DigitalOcean 机器是当前事件的机器,然后照常运行 wolkenkit start。由于所选机器存储在多个环境变量(例如 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 将无法检测应用程序是否正在运行(因为它随后无法超越无效证书)。这可能会在 CLI 的 future 版本中更改。

关于javascript - 如何将 wolkenkit 应用程序部署到 digital ocean ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44987441/

相关文章:

elasticsearch - 使用两个不同的磁盘卷来存储elasticsearch

javascript - 如何使用 Grunt 将多个 JSON 文件加载到 Jade 模板中?

docker - 将docker镜像存储在jFrog Artifactory 中-本地设置

linux - 运行 hello-world 的 Oracle Linux 上的 “Error response from daemon: Cannot start container … no such file or directory”

Kubernetes ReadWriteOnce Multi-Attach 在部署重新加载/重启时死锁

java - digital ocean : How to run Docker command on newly created Droplet via Java API

javascript - 如何通过点击 JavaScript 中输入文本字段内的十字按钮来刷新我的实时搜索?

javascript - 使用 '+' 而不是 '%20' 来解码 URI

javascript - 如何将参数传递给 Mongo 脚本

docker - 将数据提交到新镜像后,数据在Mysql docker容器中丢失?