# 使用Docker快速搭建GitLab环境,自建Git服务器托管代码

`GitLab`是一个用于仓库管理系统的开源项目，使用`Git`作为代码管理工具，并在此基础上搭建起来的Web服务。`GitLab`免费开源，简单易用，`IBM/NASA/Alibaba`等都是其用户。

下面我们简单演示使用`GitLab`官方`Docker`镜像快速搭建本地化`GitLab`服务。

## 1. 创建本地挂载卷(Volume)
```bash
mkdir -p /mnt/gitlab/etc && mkdir -p /mnt/gitlab/data && mkdir -p /mnt/gitlab/log
```
以上三个目录分别用来存储 配置/数据/日志。

## 2. 创建并运行容器
```bash
sudo docker run \
  -d \
  --name gitlab \
  --restart=always \
  -p 80:10000 \
  -p 443:443 \
  -p 10002:22 \
  -v /mnt/gitlab/etc:/etc/gitlab \
  -v /mnt/gitlab/log:/var/log/gitlab \
  -v /mnt/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:15.2.0-ce.0
```
这里分别使用`80/443/10002`端口作为`Http/Https/SSH`端口。

## 3. 修改配置
```bash
vi /mnt/gitlab/etc/gitlab.rb

# 在配置文件添加以下配置(或反注修改相应内容)
external_url 'http://192.168.0.200:80' # 替换为自定义地址即可
nginx['listen_port'] = 10000
# nginx['redirect_http_to_https_port'] = 443 # 用于https
gitlab_rails['gitlab_shell_ssh_port'] = 10002
```
保存修改并重启容器。
```bash
docker restart gitlab
```
