创建一个新的 docker 图像并捕获外部卷内容
Create a new docker image and capture external volume contents
我有一个 docker 容器,其中的命名卷映射到其主机的存储空间。在该存储上是静态文件的集合。我想创建此图像的新版本
不映射到主机上的卷,而是在映像中包含这些静态文件。
有没有一种简单的方法可以将容器的内容 + 卷上的所有内容捕获到新映像中?
这个方法有点迂回,可以使用docker volume backup将卷的数据导出到一个tar archive/plaincopy(cp)/rsync到宿主机.
docker run --rm --volumes-from dbstore -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
其中 dbstore
是具有已安装卷的容器的名称。
然后,您可以提取 tar 以获取另一个文件夹中的内容。
tar xvf /backup/backup.tar
然后,创建一个以当前镜像为基础的 Dockerfile,并将它们复制到新镜像中。
我有一个 docker 容器,其中的命名卷映射到其主机的存储空间。在该存储上是静态文件的集合。我想创建此图像的新版本 不映射到主机上的卷,而是在映像中包含这些静态文件。
有没有一种简单的方法可以将容器的内容 + 卷上的所有内容捕获到新映像中?
这个方法有点迂回,可以使用docker volume backup将卷的数据导出到一个tar archive/plaincopy(cp)/rsync到宿主机.
docker run --rm --volumes-from dbstore -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
其中 dbstore
是具有已安装卷的容器的名称。
然后,您可以提取 tar 以获取另一个文件夹中的内容。
tar xvf /backup/backup.tar
然后,创建一个以当前镜像为基础的 Dockerfile,并将它们复制到新镜像中。