我如何从我的Docker镜像创建.deb文件?

4

我尝试深入学习Docker,并创建了我的第一个Web应用程序的镜像,成功地运行了它。

我该如何创建一个.deb文件,以便将其发送给其他人在他们的系统上安装?


1
Docker镜像本身就是要分发的内容,而不是转换为.deb包。您应该考虑在docker hub上发布您创建的镜像。 - cam
2个回答

4
Docker镜像本身应该被分发。镜像不应该转换为.deb包。您应该考虑在Docker Hub或其他容器存储库(如Amazon Elastic Container RegistryGitHub Container Registry)上发布您创建的镜像,以便其他人可以docker pulldocker run您的镜像。
如果您不想使用容器存储库,您总可以分享您的代码库和Dockerfile,以便其他人可以在本地构建它。
参见其他答案以获得更可靠但不是“最佳实践”的共享Docker镜像方法。这些方法都需要安装Docker。

谢谢。问题在于将使用此 Web 应用程序的人没有安装 Docker。他们能否在没有安装 Docker 的情况下运行这些命令? - Gino
很遗憾,除非他们安装了像podmanKubernetes这样兼容容器的客户端,否则无法运行。如果你的客户没有安装Docker,你可能需要考虑其他分发应用程序的方式。使用Docker创建的镜像需要Docker才能运行。 - cam

1

另一种向他人发送图像的方式 - 不使用注册表 - 是使用docker save创建包含图像的文件。然后,您可以将文件发送给需要它的人,并使用docker load还原图像。


1
这是Docker的等效方法,类似于通过电子邮件发送单个.deb文件并使用dpkg而不是apt-get进行安装。我只会在无法运行Docker存储库或使用预先托管的存储库的情况下,将其作为最后的手段来执行。 - David Maze
@DavidMaze 我同意。但我认为这比按照被接受的答案建立图像的方式更可靠。 - Hans Kilian
只要源代码可用,从源代码重新构建应该是完全可靠的。构建应该是可重复的。当然,我们也接受源代码并不总是可用的这一事实。 - Software Engineer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接