【问题标题】:Install gitlab with docker using existing data使用现有数据通过 docker 安装 gitlab
【发布时间】:2017-09-13 18:13:12
【问题描述】:

我有一个 gitlab-docker 实例,我没有使用 gitlab 命令备份,但保留了所有卷。

docker 容器不再存在,我需要启动 gitlab 实例,尽管当我 docker-compose up -d 使用正确的卷时,gitlab 仍然认为它是一个新实例。有什么我想念的吗?我尝试更新权限等,但没有成功。

有没有办法将“原始”数据加载到 gitlab 中?理想情况下,我想要用户、组、存储库、问题。

这是 docker-compose

web: image: 'gitlab/gitlab-ce:latest' restart: always hostname: '--- environment: GITLAB_OMNIBUS_CONFIG: | external_url '----' volumes: - '/home/docker/gitlab/config:/etc/gitlab' - '/home/docker/gitlab/logs:/var/log/gitlab' - '/home/docker/gitlab/data:/var/opt/gitlab'

【问题讨论】:

    标签: docker gitlab restore


    【解决方案1】:

    Docker 为所有非外部卷组成命名空间。要引用现有卷,您可以执行以下操作:

    执行docker volume ls 来查找卷名,并在下面替换它:

    ...
        volumes:
          - <volume-name>:/etc/gitlab
    
    volumes:
      <volume-name>:
        external: true
    

    更新: 所以卷丢失了,只有数据还在:

    在这种情况下,不要使用数据卷,只需使用 bind-mount 将您拥有的数据目录直接绑定到新容器实例:

    ...
        volumes:
          - <absolute-location-to-data-director-on-host>:/etc/gitlab
          - ... Do same for the other volumes ...
    

    【讨论】:

    • 好吧,我认为没有卷了。我只有卷中的数据。这就是我保留的。想象一下,我有一台运行 gitlab 的电脑备份了卷。然后我转移到新电脑并想要恢复它。
    • 这就是我已经做过的。但是当 gitlab 启动时,它就像正在安装一个新实例。
    • 好吧,这很尴尬。我的 docker-compose 中有错字,因此没有指向正确的卷。感谢您的回答,
    猜你喜欢
    • 2018-06-11
    • 2018-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多