Docker 提交未保存我对图像的更改

sma*_*ood 7 commit docker

我是 docker 世界的新手:我现在可以部署 docker 容器并做一些工作。

试图进入下一个级别,保存我的更改并将我的容器/图像移动到另一台 PC/服务器。

目前,我在 Windows 10 上使用 docker,但我可以访问 Ubuntu 16.04 服务器来测试我的工作。

这就是我卡住的地方:我在 Docker 上部署了 Wordpress 和 MariaDB 图像。
我的 WP 运行得很好。我安装了几个主题并创建了几个带有图像的页面。

在这一点上,我喜欢保存我的工作并将其发送给我的朋友,他将部署我的图像并在同一个 Wordpress 上做进一步的工作。

我在网上读到的是:我应该运行docker commit命令以.tar格式保存和创建我的 docker 图像,然后将此图像文件 ( .tar)发送给我的朋友。他将运行docker load -i我的文件,将其作为图像加载到他的 docker 中,然后从中创建容器,这应该给他我在 Wordpress 上的所有工作。

澄清一下,我同时提交 Wordpress 和 Mariadb 容器。
我没有安装任何外部卷,因此所有工作都保存在容器中。

我确实记得在 docker 设置中在驱动器 C 和 D 上打上复选标记,但我不知道这是否与卷有关。

我在提交和移动.tar文件过程中没有收到任何错误。一旦我的朋友从我提交的图像中创建了他的容器,他就会得到干净的 Wordpress(就像从 wp 设置页面开始新安装的 Wordpress)。

我注意到的另一件事是我创建的图像与我拉取的原始图像具有相同的文件大小。当我运行时docker images,我看到我的图像是 420MB,而 Wordpress 图像是 420MB。

我认为我的图像应该大一点,因为我已经安装了主题、插件并将图像上传到 Wordpress。至少它应该比原始图像多 3 到 5 MB。请帮忙。谢谢你。

跑步docker system df给了我这个。

TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              5                   3                   1.259GB             785.9MB (62%)
Containers          3                   3                   58.96kB             0B (0%)
Local Volumes       2                   2                   311.4MB             0B (0%)
Build Cache         0                   0                   0B                  0B
Run Code Online (Sandbox Code Playgroud)

Von*_*onC 5

确保(如此处所示)提交正在运行的容器(以避免任何数据清理)

docker commit CONTAINER_ID yourImage
Run Code Online (Sandbox Code Playgroud)

在命令之后docker commit,您可以将docker save图像保存在 tar 中,并将docker load其导入回来,如下所示

  • 内容非常丰富的文章。正是我的情况。备份 WordPress 容器的所有数据。看起来核心问题是悬而未决的卷......,我仍然无法相信为什么 docker 对如此大的交易和复杂的需求做出了重要的要求。 (2认同)