将已安装的卷转换为Docker镜像

时间:2017-02-17 08:33:24

标签: docker mount

例如:

我有一个正在运行的容器,上面装有一个卷。 我想将整个容器和卷内容转换为docker镜像。

我尝试使用

docker commit container-name
docker push repo/imagename:tag

但它只推送了容器,没有保留卷中的数据。

有没有办法将已安装的docker卷上的数据转换为docker镜像?

2 个答案:

答案 0 :(得分:0)

使用以下步骤:

  1. 使用docker cp将装载点的内容复制到泊坞主机。
  2. 使用相同的图片创建一个新容器。
  3. 使用docker cp将内容复制到所需位置的新容器中。
  4. 提交包含内容的新容器并将其推送到您的存储库。
  5. 另一种方法是创建DockerFile,然后使用指向所需基本映像的From指令,并使用COPY指令将内容复制到所需位置(来自dockerhost)在docker build时间成像。

答案 1 :(得分:0)

导出或提交都不会保留您的卷数据。你有两个选择。

首先:使用提交将其转换为图像或导出图像然后手动移动卷

第二步:将卷的内容复制到容器上的任何位置,然后提交它,您现在拥有图像中的所有数据。然后转移。将音量数据移回原来的位置,例如: -

cp /my-volume-dir /my-backup-dir

然后转移图像后

mv /my-backup-dir /my-volume-dir