我正在运行一个本地Gitlab docker映像,并添加了许多项目。该项目/存储库数据似乎结束于该映像创建的3个卷中。
我想创建一个Gitlab实例的.tar文件,其中包括完整的映像+在卷中找到的所有数据。可以。tar变大。
我试图通过使用docker commit和docker save来实现这一点,但是我无法将卷与映像一起保存。
如何创建一个.tar导出文件。
答案 0 :(得分:1)
如果要进行设置,我将有一个Docker Compose文件,该文件在一个目录树中包含所有相关部分。
version: '3'
services:
db:
image: 'postgres:11'
volumes:
- './postgres:/var/lib/postgresql/data'
gitlab:
image: gitlab-community-edition
# Details below here made up
ports:
- 8080:80
env:
PGHOST: db
volumes:
- './gitlab:/data'
这里重要的是每个持久化数据都在主机上的同一目录树中。容器文件系统的实际内容并不重要(每个持久化数据都在这些目录中),图像也不重要(可以从Docker Hub提取)。
答案 1 :(得分:0)
您可以使用docker cp
来实现。
docker cp my_container:/path/to/gitlab /destination/folder
,然后压缩目标文件夹的内容。
答案 2 :(得分:0)
您将需要使用docker export创建映像的tar。然后将Docker导入以重新安装。本质上,您是在从声音中寻找安装程序。您可以编写一个bash脚本来复制所需的任何文件并导出图像。