文章目录
  1. 1. 获取镜像
  2. 2. 运行镜像
  3. 3. 配置gitlab
  4. 4. gitlab常用命令

获取镜像

1
docker pull gitlab/gitlab-ce:12.1.4-ce.0

官方Hub镜像网络会比较慢,可以使用dotCloud加速器

1
dao pull gitlab/gitlab-ce:12.1.4-ce.0

运行镜像

由于是docker镜像运行, 所以我们需要把gitlab的配置, 数据, 日志存到容器外面, 即将其挂载到宿主机。
先准备三个目录:

1
2
3
mkdir -p /Users/sino/Documents/luckymrwang/docker/gitlab/etc
mkdir -p /Users/sino/Documents/luckymrwang/docker/gitlab/logs
mkdir -p /Users/sino/Documents/luckymrwang/docker/gitlab/data

完整的运行命令如下:

1
2
3
4
5
6
7
8
9
10
11
12
docker run -d \
--hostname localhost.gitlab.com \ # 配置 /ect/hosts
-p 80:80 \
-p 443:443 \
-p 22:22 \
--name gitlab \
--restart unless-stopped \
-v /Users/sino/Documents/luckymrwang/docker/gitlab/etc:/etc/gitlab \
-v /Users/sino/Documents/luckymrwang/docker/gitlab/logs:/var/log/gitlab \
-v /Users/sino/Documents/luckymrwang/docker/gitlab/data:/var/opt/gitlab \
-v /etc/localtime:/etc/localtime:ro \ # 保持宿主机和容器时间同步
gitlab/gitlab-ce:12.1.4-ce.0

大约需要2分钟,然后运行 docker ps 看到状态显示为 ‘healthy’ 就代表已经启动了

配置gitlab

要能充分使用gitlab, 必须配置邮件发送功能, 修改配置文件 gitlab.rb (启动镜像后产生的文件), 配置邮箱:

1
vim /Users/sino/Documents/luckymrwang/docker/gitlab/etc/gitlab.rb

在文件的最后加上配置:

1
2
3
4
5
6
7
8
9
10
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxx@qq.com'

进入容器:

1
docker exec -it gitlab /bin/bash

此时已经进入docker容器了, 容器中执行命令重新配置gitlab:

1
gitlab-ctl reconfigure            # 重新配置

现在可以测试邮件是否配置正确了, 同样容器中执行:

1
2
gitlab-rails console        # 进入邮件控制台, 稍等一会才能进入
Notify.test_email('xxx@qq.com', 'Message Subject', 'Message Body').deliver_now # 发送测试邮件

现在邮件配置已经完成了, 需要配置项目路径 (如果你预留的gitlab映射端口是80的话, 到这里已经配置完了), 在宿主机中 (容器外面) 修改文件gitlab.yml, 如果host和port不对, 要改过来:

1
vim /Users/sino/Documents/luckymrwang/docker/gitlab/data/gitlab-rails/etc/gitlab.yml

改完之后在容器中重启gitlab就配置完成了。 注意: 此时不能再重新配置(gitlab-ctl reconfigure), 否则可能会改变刚修改的gitlab.yml文件

1
gitlab-ctl restart     # 重启gitlab

gitlab常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 重新应用gitlab的配置
gitlab-ctl reconfigure

# 重启gitlab服务
gitlab-ctl restart

# 查看gitlab运行状态
gitlab-ctl status

#停止gitlab服务
gitlab-ctl stop

# 查看gitlab运行日志
gitlab-ctl tail
文章目录
  1. 1. 获取镜像
  2. 2. 运行镜像
  3. 3. 配置gitlab
  4. 4. gitlab常用命令