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

时间:2017-07-08 14:53:16

标签: javascript docker digital-ocean docker-machine wolkenkit

目前我正在使用wolkenkit(https://www.wolkenkit.io/)开展一个项目。 在我的机器上本地一切正常(它配有一个码头工人容器)。现在我想将它部署到数字海洋更进一步。

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

是否有更适合数字海洋的指南/建议/教程以更详细的方式解决这个问题?

2 个答案:

答案 0 :(得分:3)

免责声明:我是wolkenkit的开发者之一,所以请尽量回答我的问题。

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

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

  1. 您可以使用docker-machine env命令选择DigitalOcean机器是当前活动的机器,然后像往常一样运行wolkenkit start。由于所选机器存储在许多环境变量(例如DOCKER_HOST)中,因此wolkenkit CLI工具使用这些信息来访问Docker主机。

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

  3. 如果您不经常更换机器,第一种方法效果最佳。如果您在大多数时间本地工作,并且很少部署到云,则第二个是最好的。后一种方法还允许您定义多个环境,例如productionstagingtest,...并根据命令行标志部署到其中一个或另一个。

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

    希望这会有所帮助: - )

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

    PPS:还请注意,您需要拥有有效的Droplet证书,否则CLI将无法检测应用程序是否正在运行(因为它不能超越无效证书)。这可能会在将来的CLI版本中更改。

答案 1 :(得分:1)

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

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