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

目前我正在使用wolkenkit( https://www.wolkenkit.io/ )开展一个项目。 一切工作正常在我的机器本地(它带有一个docker集装箱)。 现在我想把它部署到数字海洋去更进一步。

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

是否有任何指南/build议/教程更详细地解决这个问题适合数字海洋?

免责声明:我是wolkenkit的开发者之一,所以请用我的答案来回答一些问题。

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

一旦你完成了这个,你有两个select如何进行:

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

  2. 第二个select是将新环境添加到您的wolkenkit应用程序的package.json文件中,如此处所述。 通常,您只需提供您创build的docker-machine的名称即可。 在这种情况下,wolkenkit CLI将负责自动configuration连接,因此您不必手动执行此操作。 然后,您使用wolkenkit start --env production来开始您的应用程序,假设您的环境被称为production

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

请注意,您也可以使用WOLKENKIT_ENV环境variables来定义非默认环境(这是CLI的默认值)。

希望这可以帮助 :-)

PS:请注意,你的液滴应该至less有1 GB的内存,所以最小的实例可能太小了。 如果你使用的RAM小得多,Docker容器似乎按照预期启动,但是它们不能从外部访问。

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

感谢您的详细解答。 我使用第二种方法将一个新的环境添加到我的package.json中。 这为我工作:-)。 感觉非常好用CLI部署几秒钟的变化:-)

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