(十四)Docker安装Gitlab

itmahy
itmahy
发布于 2024-01-18 / 44 阅读
0
0

(十四)Docker安装Gitlab

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用户使用上面的密码登录完成之后,请及时完成修改密码的操作。

至此,安装完成。


评论