# 用Docker 搭建 GitLab服务器

  1. 在 https://hub.docker.com/ 上输入gitlab
  2. 点击gitlab-ce链接进入一个页面,在这个页面中就可以看到安装gitLab的命令:docker pull gitlab/gitlab-ce
  3. 运行:通常会将gitlab的配置(etc)、日志(log)、数据(data)放到容器之外,便于日后升级,因此,先准备这三个目录
mkdir -p /srv/gitlab/etc
mkdir -p /srv/gitlab/log
mkdir -p /srv/gitlab/data
1
2
3
  1. 运行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
  1. 浏览器进入: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