我正在与Docker一起使用Go服务,并认为在对其进行编译时,要在生产环境中部署代码,我只需要Docker compose,并将Docker映像发布在我的注册表中即可。
当我来自PHP世界时,我习惯于克隆整个项目以进行部署。
有什么办法只能使用docker-compose文件部署项目吗?
我在this post上看到我只能git clone一个文件,但感觉这不是一个好方法,用Docker部署Go Microservice的最佳实践是什么?
答案 0 :(得分:2)
您的问题中有两个独立的问题,我不确定您要为哪个问题寻找答案。
Q1:为我的Go项目创建Dockerfile的好方法是什么 解答1:在这里查看示例:https://docs.docker.com/develop/develop-images/multistage-build/。如果需要git clone,请克隆整个源代码树,就像使用php ...
Q2:现在我有了我的图像,如何在生产中使用它。 解答2:确保它在某个地方的存储库(公共或私有)中都可用。然后在启动容器时引用该映像(使用全名,如果不使用Docker Hub,则使用全名,包括回购服务器的FQDN)。此时无需“ git clone”任何东西...