# Docker运行配置Gitlab
# Docker Registry Mirror 配置(镜像加速)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-EOF
{
"registry-mirrors": [
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# Docker Run Gitlab
docker pull gitlab/gitlab-ce:14.8.2-ce.0
mkdir -p /home/gitlab/{etc,log,opt}
docker run -itd -u root \
--privileged=true \
--name gitlab \
--restart=always \
-p 2443:443 \
-p 2080:80 \
-p 2022:22 \
-v /home/gitlab/etc:/etc/gitlab \
-v /home/gitlab/log:/var/log/gitlab \
-v /home/gitlab/opt:/var/opt/gitlab \
gitlab/gitlab-ce:14.8.2-ce.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 获取root密码(登录用户名是root,不是Administrator)
docker exec ....
cat /etc/gitlab/initial_root_password|grep 'Password:'
所以密码是:CWXGYWn+ZiOjVEX4oa0xxneSckKXT7f+T0P0iSJgs0E=
1
2
3
4
5
2
3
4
5
# 自定义Gitlab外部展示的端口
- 新增配置项
external_url 'http://192.168.234.129:2080'
nginx['listen_port'] = 80
gitlab_rails['gitlab_shell_ssh_port'] = 22
1
2
3
2
3
- 步骤说明
docker exec ....
vi /etc/gitlab/gitlab.rb
# gitlab访问地址,填写域名或IP地址,如果端口不写的话默认为80端口
# 192.168.234.129这个地址是我本地虚机的IP,为什么是2080,请回到“Docker Run Gitlab”重新看一遍docker指令
external_url 'http://192.168.234.129:2080'
# 如果你只是这样改,你会发现gitlab访问不了。因为Gitlab默认会用这个端口号作为其Nginx的监听端口。因为我们这里其实是监听的80端口,所以需要加如下配置:
nginx['listen_port'] = 80
# 当然,这个配置也别忘记了
gitlab_rails['gitlab_shell_ssh_port'] = 22
wq!
gitlab-ctl reconfigure
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Docker Run GitlabRunner
Runner的版本和Gitlab"可以"不一致
docker pull gitlab/gitlab-runner:v14.8.2
mkdir -p /home/gitlab-runner/{config,var}
# /usr/local/dragonwell-11.0.19.15+7-GA和/usr/local/apache-maven-3.8.1需要在放在宿主机上
docker run -d -u root --privileged=true --name gitlab-runner --restart always -v /home/gitlab-runner/config:/etc/gitlab-runner -v /home/gitlab-runner/var/docker.sock:/var/run/docker.sock -v /usr/local/dragonwell-11.0.19.15+7-GA:/usr/local/dragonwell11 -v /usr/local/apache-maven-3.8.1:/usr/local/maven3 gitlab/gitlab-runner:v14.8.2
# 创建软连接
ln -s /usr/local/maven3/bin/mvn /usr/bin/mvn
ln -s /usr/local/dragonwell11/bin/java /usr/bin/java
# 注册Runner(注册方法建议百度,毕竟Google也不太好进)
# 重点!!!注册只能一气呵成,按退格键是无法删除的
docker exec -it $(docker ps |grep gitlab-runner|awk '{print $1}') gitlab-runner register
# 注册完毕后,状态为online说明正常,不然就会有问题
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 本地主机上配置Git
# Gitlab创建的用户的邮箱
git config --global user.email "admin@example.com"
# Gitlab创建的用户
git config --global user.name "Administrator"
1
2
3
4
2
3
4