使用预编译文件创建Docker映像
我们正在为我们的客户开发一个应用程序。客户不能看到代码,因为我们不向他们提供源代码。我们的报价仅包含安装、维护和运行应用程序 因此,我们在私有Git中有了源代码。我们用dockerfile编译它,并用它制作docker图像 由于我们无法远程访问客户的容器注册表,因此我们不能简单地向其推送新的发布版本 有没有一种方法可以在不向客户复制发布代码的情况下将新的发布版本导入客户的注册表? 可能是预编译,然后将编译后的代码复制给客户使用预编译文件创建Docker映像,docker,container-registry,Docker,Container Registry,我们正在为我们的客户开发一个应用程序。客户不能看到代码,因为我们不向他们提供源代码。我们的报价仅包含安装、维护和运行应用程序 因此,我们在私有Git中有了源代码。我们用dockerfile编译它,并用它制作docker图像 由于我们无法远程访问客户的容器注册表,因此我们不能简单地向其推送新的发布版本 有没有一种方法可以在不向客户复制发布代码的情况下将新的发布版本导入客户的注册表? 可能是预编译,然后将编译后的代码复制给客户 提前问候和感谢 1方法应该是将docker映像推送到您的私有托管dock
提前问候和感谢 1方法应该是将docker映像推送到您的私有托管docker注册表。然后在客户处,您可以使用Nexus()等工具配置代理Docker存储库,该存储库将从您的私有Docker注册表中提取图像。以这种方式,您不是发布代码,而是向客户发布Docker映像,客户可以提取它
对于代理存储库信息,可以使用
docker save -o <filename.tar> <image_name>
docker保存-o
您可以将该文件发送给客户,他们可以使用
docker load -i <filename.tar>
docker加载-i
现在,他们可以将该图像推送到他们的私有存储库。请记住,您的最终用户可以查看他们拥有的任何图像的
docker历史记录
,并docker对该图像运行任何命令。如果您使用的是编译语言(C++、Java、Go、Rust),那么您描述的一般方法将很好地工作;如果你想在Docker中完成编译序列,a也可以提供帮助。你能检查一下上面提到的答案,看看它是否解决了这个问题吗