测试环境:华为云服务器 Ubuntu 20.04

1.下载GitLab的Docker镜像

1
$ docker pull gitlab/gitlab-ce

2.设置环境变量

1
$ export GITLAB_HOME=/server/gitlab

3.run一个容器

1
2
3
4
5
6
7
8
$ docker run --detach \
-p 41443:443 -p 41080:80 -p 41022:22 \
--name gitlab \
--restart always \
-v $GITLAB_HOME/config:/etc/gitlab \
-v $GITLAB_HOME/logs:/var/log/gitlab \
-v $GITLAB_HOME/data:/var/opt/gitlab \
gitlab/gitlab-ce

注意:如果部署在华为云或者阿里云服务器上,需要放行的端口需要在安全组规则中设置放行。

4.查下GitLab容器是否正常运行

1
2
$ docker ps | grep "gitlab"
b65212c5a539 gitlab/gitlab-ce

5.在浏览器中访问 http://x.x.x.x:41080/

可能遇到的场景

重置管理员账户密码

1.进入容器

1
$ docker exec -it gitlab /bin/bash

2.重置密码

1
$ gitlab-rake "gitlab:password:reset[root]"

修改git clone的external_url

1.进入容器

2.修改配置

1
2
3
4
5
6
7
8
$ vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
# 1. GitLab app settings
# ==========================

## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: x.x.x.x

3.重启GitLab

1
$ gitlab-ctl restart

Reference