如何将整个Docker内容保存到tar文件中?
我尝试使用Docker命令安装Ubuntu机器如何将整个Docker内容保存到tar文件中?,docker,dockerfile,docker-machine,docker-container,docker-image,Docker,Dockerfile,Docker Machine,Docker Container,Docker Image,我尝试使用Docker命令安装Ubuntu机器 docker run -it --name mymachine ubuntu 在那台Ubuntu机器上,我安装了以下应用程序 爪哇 解压 SSH 然后我执行了Docker commit操作Docker commit mymachine copymachine。现在,如果我在一个新的容器中运行这个复制图像,意味着它可以完美地工作。但在我的例子中,我尝试使用“save”命令保存该图像文件: 然后将这个tar文件转发到我的另一台机器上,并尝试使用以下命
docker run -it --name mymachine ubuntu
在那台Ubuntu机器上,我安装了以下应用程序
Docker commit mymachine copymachine
。现在,如果我在一个新的容器中运行这个复制图像,意味着它可以完美地工作。但在我的例子中,我尝试使用“save”命令保存该图像文件:
然后将这个tar文件转发到我的另一台机器上,并尝试使用以下命令在该Docker中加载此图像
docker load MachineInfo.tar updatedmachine
如果我尝试在容器中运行此映像,并尝试访问安装在前一个机器容器上的应用程序
但是新创建的容器中没有显示任何应用程序。与@halfer comment内联,您需要执行简单的导出和导入。请执行以下步骤
注意:步骤5、6、7、8、9是验证步骤。保存/加载图像工作。如果要使用容器,则需要导出/导入。实际上,我已将正在运行的容器转换为该映像中的新映像,但仅尝试了“保存并加载”命令您不应在正在运行的容器中安装软件:一旦容器退出,软件将丢失。Docker有一个教程,介绍了构建和运行自定义图像的标准过程;这是在可重用映像中安装软件的正常方法。
docker load MachineInfo.tar updatedmachine
docker run -it --name mymachine ubuntu /bin/bash
apt update
apt install default-jre
java -version
docker export 4719ab149ee2 > mymachine.tar
docker stop <container_id>
docker images
dokcer image rm <image_id>
C:\Users\ameena>docker import - mymachine < mymachine.tar
docker images
docker run -it --name mymachinefromimage mymachine:latest /bin/bash
java --version