# 用Docker 搭建 GitLab服务器
- 在 https://hub.docker.com/ 上输入gitlab
- 点击gitlab-ce链接进入一个页面,在这个页面中就可以看到安装gitLab的命令:
docker pull gitlab/gitlab-ce
- 运行:通常会将gitlab的配置(etc)、日志(log)、数据(data)放到容器之外,便于日后升级,因此,先准备这三个目录
mkdir -p /srv/gitlab/etc
mkdir -p /srv/gitlab/log
mkdir -p /srv/gitlab/data
1
2
3
2
3
- 运行gitlab镜像
docker run \
--detach \
--publish 8443:443 \
--publish 9090:80 \
--publish 2222:22 \
--name gitlab \
--restart always \
-v /srv/gitlab/etc:/etc/gitlab \
-v /srv/gitlab/log:/var/log/gitlab \
-v /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
---
注释:
--detach # 设置容器后台运行
--hostname xxx.xx.xx.xx #设置容器的hostname
--publish 8443:443 #容器443端口映射到主机8443端口
--publish 9090:80 #容器80端口映射到主机9090端口
--publish 2222:22 #容器 22端口映射到主机2222端口
--restart always #容器退出后自动重启
-v /srv/gitlab/etc:/etc/gitlab \ # 挂载本地目录到容器配置目录
-v /srv/gitlab/log:/var/log/gitlab \ #挂载本地目录到容器日志目录
-v /srv/gitlab/data:/var/opt/gitlab \ #挂载本地目录到容器数据目录
gitlab/gitlab-ce #使用的镜像
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
- 浏览器进入:http://xxx.xx.xx.xx:9090
其他:
如果9090端口被占用,会出现502的页面
用docker把gitlab停掉,再次启动,会出现502错误,我的解决办法就是把9090端口的进程杀掉,就好了
ps -ef|grep 9090
kill -9 xxx
或者:
修改unicorn的配置,
vim /srv/gitlab/data/gitlab-rails/etc/unicorn.rb
listen "127.0.0.1:9090", :tcp_nopush => true