目前我正在使用wolkenkit(https://www.wolkenkit.io/)开展一个项目。 在我的机器上本地一切正常(它配有一个码头工人容器)。现在我想将它部署到数字海洋更进一步。
在官方文档中,有几行关于分配泊坞机(https://docs.wolkenkit.io/1.0.1/reference/configuring-an-application/assigning-a-docker-machine/)。
是否有更适合数字海洋的指南/建议/教程以更详细的方式解决这个问题?
答案 0 :(得分:3)
免责声明:我是wolkenkit的开发者之一,所以请尽量回答我的问题。
基本上,它首先取决于你如何创建机器:因为你基本上需要一台运行Docker的机器,最简单的方法是使用docker-machine
来设置它。有关详细信息,请参阅Docker documentation。
完成此操作后,您有两种选择:
您可以使用docker-machine env
命令选择DigitalOcean机器是当前活动的机器,然后像往常一样运行wolkenkit start
。由于所选机器存储在许多环境变量(例如DOCKER_HOST
)中,因此wolkenkit CLI工具使用这些信息来访问Docker主机。
第二个选项是按照here所述向wolkenkit应用程序的package.json
文件添加新环境。通常,您需要做的就是提供您创建的docker-machine
计算机的名称。在这种情况下,wolkenkit CLI将自动配置连接,因此您不必手动执行此操作。然后,使用wolkenkit start --env production
启动应用程序,假设您的环境名为production
。
如果您不经常更换机器,第一种方法效果最佳。如果您在大多数时间本地工作,并且很少部署到云,则第二个是最好的。后一种方法还允许您定义多个环境,例如production
,staging
,test
,...并根据命令行标志部署到其中一个或另一个。
请注意,您还可以使用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)。否则,数字海洋上的液滴的创建过程将不会成功。