作者:廖赞胜 | 来源:互联网 | 2023-09-03 19:33
昨天基于网上的教程搭建 gitlab-ce 不是很成功,稳定性不足,页面总是出现崩溃。今天把环境清理了一下,重新使用 gitlab-ee 的 docker 镜像。
gitlab 分两个版本,一个是社区版 ce ,另一个是企业版 ee,在测试环境两者都可使用,没有功能限制。
清理现有的容器环境
$ docker ps -a
$ docker stop
$ docker rm
重新下载 gitlab-ee 镜像
$ export GITLAB_HOME=/it/lts/gitlab
$ docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 880:880 --publish 222:222 \
--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 1024m \
gitlab/gitlab-ee:latest
为了提高响应速度,可以多给容器分配一些共享内存。此时配置的端口在配置文件中还没有修改,稍后在配置文件中修改相应的端口参数。需要注意的是本地端口和容器内端口要一致,不然程序启动后,界面显示与实际不符。
修改配置端口,原始 web 端口为 80,ssh 端口为 22,修改为容器启动命令中对应的端口
# $GITLAB_HOME/config/gitlab.rb
external_url 'http://192.168.1.1:880'
gitlab_rails['gitlab_shell_ssh_port'] = 222
重启容器
$ docker ps -a
$ docker stop
$ docker start
或者通过容器名重启 gitlab 服务
重新开一个Console窗口,观察实时日志
等日志中输出稳定后,系统初始化完毕。使用初始 root 账号登录系统,初始密码在 $GITLAB_HOME/config/initial_root_password,该文件会在系统初始化完24小时后自动删除。
到此系统搭建完毕,之后都可以通过图形界面对 gitlab 进行配置,可以把当前不会用到的功能关闭,比如 CI、DevOps、SMTP 相关的配置。在配置文件中可以配置白名单,用来提高安全性。
更换为 gitlab-ee 的镜像后,系统反应速度和稳定性都比昨天尝试的 gitlab-ce 好很多。
如果需要进到容器中对 gitlab 服务进行管理,可以使用 docker 交互命令:
$ docker exec -it gitlab /bin/bash
![](https://img6.php1.cn/3cdc5/982b/cd5/7c7ec8cbb896ac4b.png)
gitlab 管理命令
$ gitlab-ctl status
$ gitlab-ctl stop
$ gitlab-ctl start
$ gitlab-ctl restart
$ gitlab-ctl reconfigure
参考
https://docs.gitlab.com/ee/install/docker.html
https://registry.hub.docker.com/r/gitlab/gitlab-ee/tags