使用Docker搭建GitLab并配置SSH

GitLab是一个强大的版本控制和协作平台,允许开发者在其上托管项目。在这篇文章中,我们将学习如何使用Docker快速搭建GitLab,并配置SSH以便进行安全的代码推送和拉取操作。

一、环境准备

在开始之前,我们需要确保以下条件已满足:

  1. 已安装Docker和Docker Compose。
  2. 有一个能够运行Docker的Linux服务器或本地机器。

二、使用Docker搭建GitLab

1. 创建 Docker Compose 文件

首先,我们需要创建一个目录用于存放GitLab的配置文件和数据。以下是创建文件夹和docker-compose.yml文件的步骤:

mkdir gitlab && cd gitlab

接下来,创建docker-compose.yml文件:

version: '3'
services:
  gitlab:
    image: 'gitlab/gitlab-ee:latest'  # 使用GitLab企业版,社区版使用gitlab/gitlab-ce
    restart: always
    hostname: 'gitlab.example.com'  # 替换为你的域名或IP地址
    ports:
      - '80:80'                       # HTTP端口
      - '443:443'                     # HTTPS端口
      - '2222:22'                     # SSH端口
    volumes:
      - './config:/etc/gitlab'
      - './logs:/var/log/gitlab'
      - './data:/var/opt/gitlab'

2. 启动GitLab

使用以下命令启动GitLab容器:

docker-compose up -d

此命令会在后台启动GitLab,并允许我们在浏览器中访问它。

3. 初始设置

在浏览器中访问 `

三、配置SSH访问

为确保安全的代码推送和拉取,我们需要配置SSH。

1. 生成SSH密钥

在本地机器上生成SSH密钥对(如果尚未生成):

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

按提示输入文件名和密码,生成后会在~/.ssh/目录中看到两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。

2. 添加SSH公钥到GitLab

  1. 登录到GitLab。
  2. 进入“用户设置” -> “SSH密钥”。
  3. id_rsa.pub中的内容复制到“密钥”字段中。
  4. 点击“添加密钥”按钮。

3. 测试SSH连接

使用以下命令测试SSH连接:

ssh -T git@gitlab.example.com -p 2222

如果配置正确,你应该能够看到欢迎消息。

四、序列图示例

在每个服务之间,很多操作都是异步的。我们可以使用序列图来展示操作过程。以下是一个Git操作的序列图示例:

sequenceDiagram
    participant User
    participant GitLab
    participant Git

    User->>Git: push代码
    Git->>GitLab: SSH push请求
    GitLab->>Git: 验证SSH密钥
    Git->>GitLab: 返回验证结果
    GitLab-->>User: 确认推送成功

五、总结

通过以上步骤,我们完成了基于Docker搭建GitLab的过程,并配置了SSH以便安全地访问代码仓库。这样,我们就可以开始利用GitLab进行项目管理和团队协作了。无论是个人开发者还是团队合作,GitLab都能提供强大的支持,助力高效的工作流程。

如果你在搭建和使用过程中遇到任何问题,建议查看GitLab的官方文档,里面包含了丰富的资源和支持信息。希望这篇文章能帮助到你,祝你在使用GitLab的过程中愉快且高效地工作!