我想打包一个多容器应用程序,供其他人使用docker桌面在其计算机上运行。
我想给他提供他需要的图像,也许是docker-compose文件,以便他可以在没有系统拉动和dotnet SDK构建的情况下运行这些图像。基本上,我只是希望他能够运行完整的图像。
我已经尝试了docker export和docker save方法。但是看来,即使我摇动docker-compose.yml文件仅指向Imagename:latest并复制到另一台机器并运行docker-compose,它也会启动容器而不会出现错误,但它们不会显示为“ docker ps” 。很好奇,我尝试以交互方式运行一个,并查看了app \文件夹,在该文件夹中,构建映像的dockerfile应该已经复制了代码,但是我在那里找不到任何DLL。我真的很困惑dockerfile在导出/导入图像或运行容器时的角色。
(注意:我也不想使用注册表或docker hub-我很高兴将保存的图像导出到文件共享,以便他可以将其导入到他的docker桌面。这只是本地的无论如何都可以。)
我开始考虑要做的方法是将正在运行的容器快照到映像并将其保存(希望它具有在运行dockerfile时复制到./app的所有文件),然后启动它。我也不清楚入口文件是否从dockerfile放入时继承,还是我必须在目标计算机的docker-compose中重新指定它。
我在网络上阅读了非常愚蠢的资料,读得越多,我就越迷失和困惑,我所认为的是码头工人的优势:共享容器!