Docker安装Gitlab
1. 下载镜像
git pull gitlab/gitlab-ce:15.3.1-ce.0
2. 重命名镜像
docker tag gitlab/gitlab-ce:15.3.1-ce.0 gitlab:15.3.1
3. 创建容器卷挂载目录
# 存放配置文佳
mkdir -p /opt/gitlab/config
# 存放数据
mkdir -p /opt/gitlab/data
# 存放日志文件
mkdir -p /opt/gitlab/logs
4. 创建容器
docker run --detach \
--publish 1443:443 --publish 180:80 --publish 122:22 \
--name gitlab \
--volume /opt/gitlab/config:/etc/gitlab:Z \
--volume /opt/gitlab/logs:/var/log/gitlab:Z \
--volume /opt/gitlab/data:/var/opt/gitlab:Z \
--privileged=true \
gitlab:15.3.1
1443:443 -> HTTPS 端口(443)映射到宿主机的 1443 端口
180:80 -> HTTP 端口(80)映射到宿主机的180端口
122:22 -> SSH 端口(22)映射到宿主机的122端口,不要直接映射到宿主机的22端口,这个端口已经被sshd占用了,用于ssh连接
5. 配置
进入第三步创建的 /opt/gitlab/config
目录中,编辑 gitlab.rb
文件
cd /opt/gitlab/config
vim gitlab.rb
HTTP访问地址
# 这是 HTTP地址,包括克隆项目时,http方式的地址
external_url 'http://192.168.137.11:180'
nginx监听地址
# 默认情况下 nginx 的监听端口号会从 external_url 中取,也就是 180
# 但是刚刚我们创建容器的时候,将宿主机的180端口映射到了容器的80端口,而不是容器的180端口,所以需要指定配置
nginx['listen_port'] = 80
SSH 方式克隆地址
# SSH 方式克隆地址中的域名部分会从 external_url 中取,我们只需要指定端口号。
gitlab_rails['gitlab_shell_ssh_port'] = 122
修改时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
设置新用户默认不可创建项目组
gitlab_rails['gitlab_default_can_create_group'] = false
配置邮箱(内网,条件不允许,整不了)
6. 重启容器
# 注意:不要直接使用 restart ,可能会报错
# 先停止
docker stop gitlab
# 再启动
docker start gitlab
7. 访问
浏览器中输入:
http://192.168.137.11:180
可能刚刚访问的时候会报502,多等一会,给gitlab一点时间,就好了。
8. root用户登录
有些版本的gitlab第一次访问的时候会设置root密码,但是我安装了很多次,都没有遇到过可以设置密码的环节,只能从 /opt/gitlab/config
这个目录中的initial_root_password
这个文件中去找,例如:
root用户使用上面的密码登录完成之后,请及时完成修改密码的操作。
至此,安装完成。