推荐官方文档
https://docs.gitlab.com/17.0/ee/install/docker.html
我使用的是docker run的方式,官方文档后面有docker-compose、swarm、k8s的部署文档
版本说明
1:可以部署gitlab-ce社区版和gitlab-ee企业版,然后,鉴于是个人使用,就选择了社区版,至于ce和ee的区别,可以网上搜索一下,很容易找到回答。
2:gitlab几个大版本14、15、16、17,其中,从15版本开始,界面有所修改,将用户挪到了左侧,个人感觉很不习惯,所以还是选择了旧UI:14版本,使用的14版的最新版:
https://hub.docker.com/r/gitlab/gitlab-ce/tags?page=&page_size=&ordering=&name=14.
Docker部署
我的部署版本:14.10.5
部署命令:
docker run -itd \
--hostname git.*****.cn \
--publish 15443:443 --publish 15080:80 --publish 15022:22 \
--name gitlab14 \
--restart always \
--volume /Users/suwei/Downloads/tmp/config:/etc/gitlab \
--volume /Users/suwei/Downloads/tmp/logs:/var/log/gitlab \
--volume /Users/suwei/Downloads/tmp/data:/var/opt/gitlab \
gitlab/gitlab-ce:14.10.5-ce.0
# 初次启动会慢些,初始化很多东西
# 重启会快点,但总体,我还是感觉慢....
配置修改
# 进入容器:或者修改挂载文件 ***/config/gitlab.rb
docker exec -it gitlab14 bash
# 修改
vi /etc/gitlab/gitlab.rb
# 修改如下内容
gitlab_rails['gitlab_shell_ssh_port'] = 15022 # 修改成你的22端口的映射端口
# 可选路由配置
external_url 'git.*****.cn' # 默认'GENERATED_EXTERNAL_URL',如果你有域名,可不用修改,如果用ip,需要修改成ip地址
# 然后,重启gitlab即可
docker restart gitlab14
说明:external_url 配置的地址,会在clone项目代码的链接里体现,如图:
初始root密码修改
# 进入容器
docker exec -it gitlab14 bash
# 执行:
# 进入控制台
gitlab-rails console -e production
# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 修改密码
user.password='新密码'
user.password_confirmation='新密码' # 可忽略
# 保存
user.save!
# 退出
quit
exit
现在你就可以用root账号,和你的新密码登录了。
域名及地址Nginx转发
1:如果你没有域名,直接浏览器访问你的git,那么现在就可以正常使用。
2:如果你有域名,且你的服务器对公网完全开放的,那么你也可以正常使用了
3:如果你的gitlab服务器在内网,你有一个公网服务器做跳板机,域名解析到跳板机服务器上,那么你可能需要做一些操作,才能使用 ssh clone。见下文
https://blog.csdn.net/GodDavide/article/details/139182821