我使用 Docker 在我的服务器上安装了 gitlab。 我想访问 gitlab 本地存储库,以便为每个项目创建自定义 Hook 。
问题是我在我的服务器上的任何地方都找不到 gitlab 本地存储库。
最佳答案
您当前的运行命令是:
docker run --detach --name gitlab \
--hostname gitlab.example.com \
--publish 30080:30080 \
--publish 30022:22 \
--env GITLAB_OMNIBUS_CONFIG="external_url 'gitlab.example.com:30080';; gitlab_rails['gitlab_shell_ssh_port']=30022;" \
gitlab/gitlab-ce:9.1.0-ce.0"
此命令不包含任何外部卷挂载,因此我建议为 GitLab 创建一个本地数据目录,并包含卷挂载,以便 GitLab 使用本地存储作为后备数据库和存储库。
请注意,如果您在运行的实例中创建了内容(没有卷装载),那么如果容器被删除,它可能会丢失。
创建本地目录(您可以使用不同的路径):
mkdir -p /gitlab/data
mkdir -p /gitlab/config
mkdir -p /gitlab/logs
将卷挂载添加到您的 docker 命令:
docker run --detach --name gitlab \
--hostname gitlab.example.com \
--publish 30080:30080 \
--publish 30022:22 \
--volume /gitlab/config:/etc/gitlab \
--volume /gitlab/logs:/var/log/gitlab \
--volume /gitlab/data:/var/opt/gitlab \
--env GITLAB_OMNIBUS_CONFIG="external_url 'gitlab.example.com:30080';; gitlab_rails['gitlab_shell_ssh_port']=30022;" \
gitlab/gitlab-ce:9.1.0-ce.0"
这将为您的 gitlab 服务器创建持久卷。
启动服务器并创建项目后,您将在数据目录中找到您的存储库。
关于linux - 将自定义 Hook 添加到使用 Docker 安装的 Gitlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52042698/