创建包含卷的Docker实例.tar

时间:2019-04-12 18:00:53

标签: docker gitlab

我正在运行一个本地Gitlab docker映像,并添加了许多项目。该项目/存储库数据似乎结束于该映像创建的3个卷中。

我想创建一个Gitlab实例的.tar文件,其中包括完整的映像+在卷中找到的所有数据。可以。tar变大。

我试图通过使用docker commit和docker save来实现这一点,但是我无法将卷与映像一起保存。

如何创建一个.tar导出文件。

3 个答案:

答案 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脚本来复制所需的任何文件并导出图像。