设置环境变量
export GITLAB_HOME=/srv/gitlab
执行命令
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 2222:2222 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
--shm-size 256m \
gitlab/gitlab-ee:latest
上面的命令会下载gitlab最新的镜像,然后启动gitlab的镜像,这个过程可能会有写长,可以通过 docker ps
查看启动的状态,也可以通过sudo docker logs -f gitlab
查看日启动日志。
没有异常的话,gitlab启动成功就可以通过gitlab.example.com
访问了,gitlab初始的时候会默认创建一个root 超级管理员,密码可以通过sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
查看,获取到密码要及时保存或者登录gitlab修改密码,因为24小时之后,gitlab会删除密码,通过上述命令查看不到。
碰到的问题
- 启动失败
在启动过程中,gitlab启动失败,通过日志查看发现报了ThreadError: can't create Thread: Operation not permitted
这个错,通过搜索发现是gitlab被限制使用多核cpu,解决这个错误只需要在启动参数中添加如下参数就可以--privileged=true
。 - 访问很慢
搭建完成后,通过访问gitlab发现速度非常慢,通过命令docker ps
发现容器使用的内存只有1.925G,内存分配太少导致需要不停得从硬盘和内存中切换数据导致的。于是在启动参数中添加-m 4g
来修改分配的内存,重启gitlab 发现不生效。在这个地方折腾了好久,后来通过发现是docker本身设置了内存的限制,不论指定-m
参数是多少,只要超过了docker本身设置的内存参数,都会按照docker本身设置的参数来使用内存够。可以通过一下方式来修改docker内存限制:
不同版本的docker修改位置不一样