简介
GitLab 默认端口号 22(ssh协议) 443(https协议) 80(httpweb访问页面)
方法 / 步骤
KVM离线安装
在 GitLab官方资源仓库 寻找最新版本
然后直接使用rpm 安装即可
Docker安装
在 DockerHub仓库 寻找dockerCE 最新版本
# 粘贴pull文件
sudo docker pull gitlab/gitlab-ce:15.3.3-ce.0
❗❗ 注意映射的端口号不要为浏览器保留端口号否则会出现
ERR_UNSAFE_PORT
提示
sudo docker run -d \
-p 10443:443 -p 8000:80 -p 10022:22 \
--name gitlab8000 --restart always --privileged=true \
-v /docker/gitlab8000/config:/etc/gitlab \
-v /docker/gitlab8000/logs:/var/log/gitlab \
-v /docker/gitlab8000/data:/var/opt/gitlab \
gitlab/gitlab-ce:15.3.3-ce.0
- 主要参数说明:
-d: 后台启动
-p 8000:80 : -p端口映射,将容器的80端口映射到宿主机的8000,也就是说当你安装成功后通过IP:10080可以访问gitlab
--name gitlab 给你的容器命名为gitlab 方便后续操作,毕竟通过容器ID进行操作过于麻烦
-v /docker/gitlab/config:/etc/gitlab 文件映射-将容器内部的/etc/gitlab映射到宿主机的/docker/gitlab/config
最后 gitlab/gitlab-ce 你是根据那个镜像启动的该容器(也就是你上面拉取的gitlab的镜像名)*
第一次大概要启动一分钟
配置GitLab
- 配置下/docker/gitlab8000/config/gitlab.rb
# 配置http协议所使用的访问地址,项目Clone时候显示该配置的path (添加上端口号启动只能浏览器访问拒绝链接,默认80端口能正常访问)
external_url 'http://192.168.11.200'
# 这里改成你的IP
#gitlab_rails['gitlab_ssh_host'] = '192.168.11.11'
# 这里改成你映射的端口
# gitlab_rails['gitlab_shell_ssh_port'] = 10022
❗ 如果遇到Whoops, GitLab is taking too much time to respond 表示响应时间太长,可以拉长一下超时设置docker/gitlab8000/config/gitlab.rb
或者进入容器控制台后 /etc/gitlab/gitlab.rb
# 配置超时设置长一点
gitlab_rails['webhook_timeout'] = 90
gitlab_rails['git_timeout']=90
- 到该页面表示启动成功
查看 root 初始密码
docker exec -it 容器名字
或 容器ID grep 'Password:' /etc/gitlab/initial_root_password
或者在映射目录查看:
/docker/gitlab8000/config/initial_root_password
- 登录成功
其他相关命令
# 进入容器控制台
docker exec -it gitlab8000 bash
# 查看状态
gitlab-ctl status
# 重新加载配置
gitlab-ctl reconfigure
# 停掉gitlab
gitlab-ctl stop
# 重启gitlab
gitlab-ctl restart
# 实时查看日志输出
gitlab-ctl tail
参考资料 & 致谢
[1] ERR_UNSAFE_PORT
[2] 解决一次gitlab因异常关机导致启动失败