我做了一个非常简单的golang服务器,需要将其部署到Digitalocean Droplet中。
我知道在使用cgo的情况下交叉构建go应用程序可能会出现问题,因此为了以后不再考虑,我决定使用docker,因此我的应用程序将始终在相同的环境中构建和运行。
我没有得到的第一件事就是开发应用程序。创建Dockerfile时,我使用命令将项目目录中的文件添加到新创建的Docker映像中。然后,我运行从该映像创建的容器。但是,如果我编辑代码怎么办? -据我了解,我必须停止容器,移除图片,然后重新构建。对于这种常见情况,这有点棘手-还是我做错了事?
第二个-我在DO上创建了一个docker drop:部署我的应用程序的方式是什么?
答案 0 :(得分:1)
但是,如果我编辑代码怎么办? -据我了解,我必须停止容器,移除图片,然后重新构建。对于这种常见情况,这有点棘手-还是我做错了事?
不要删除图像,而只是重建它。这将比第一个初始构建快得多。还有为什么棘手?这只是一两个命令,如果烦人,您可以创建一个bash或.bat脚本。
我在一个DO上创建了一个docker drop:如何部署我的应用?
所有三个选项都是可能的。对于第二个,您将必须将您的虚拟机设置为docker-hub存储库,这可能超出您的需求。使用docker hub还不错。您也可以在服务器上构建映像。我建议您使用docker hub,因为它很容易,并在服务器上设置了守望台,以在新的图像推送上重新启动Web应用。
编辑:以上建议适用于VM,而不适用于Docker Drop。我对DO并不熟悉,但是本文应该会有所帮助:
https://blog.machinebox.io/deploy-machine-box-in-digital-ocean-385265fbeafd