Windows10 上Docker 安装运行Gitlab
准备条件
- 安装好Docker For Windows客户端。
- 配置好Docker 阿里云加速镜像地址。
- 检查Docker版本,大于等于v19。
拉取Gitlab镜像
docker pull gitlab/gitlab-ce:latest
安装GitLab
因为一些不确定的原因,这里推荐你切换到Linux的终端环境来执行一下命令,而不是使用PowerShell。
试玩:
docker run --publish 443:443 --publish 80:80 --publish 22:22 --name gitlab --restart always --volume /home/gitlab/config:/etc/gitlab --volume /home/gitlab/logs:/var/log/gitlab --volume /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
推荐:
docker run --publish 4433:443 --publish 7000:80 --publish 77:22 --name gitlab --restart always \
--volume /home/username/gitlab/config:/etc/gitlab \
--volume /home/username/gitlab/logs:/var/log/gitlab \
--volume /home/username/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
修改Gitlab管理员密码
刚安装完毕之后,从http://127.0.0.1:7000, 发现要求登录。
但是我是第一次进来,哪里来的密码?根据历史经验,用户名应该是root
,但是密码多少呢?实在不知道去哪看,这里介绍一个修改密码的方式。
1. 走Docker进入Gitlab容器
还是要切换到root权限来操作哈。
su root
进入名为gitlab
的容器并且打开终端。
docker exec -it gitlab bash
2. 查询除id为1的用户来
user = User.where(id:1).first
从结果来看,查出来了id=1的用户就是root
3. 修改这个用户的密码,并且同时修改确认密码
user.password = '**********************'
user.password_confirmation = '**********************'
4. 保存新密码
user.save!
看到这个true,那就是保存成功了,马上我们就可以通过账号root
和新设置的密码进去了。
修改Gitlab绑定地址
如果不修改,用Docker方式新建的Docker的地址就会变成实例Id名字,这样肯定不行。
- 右键管理员权限打开PS,切换到
root
用户获取最高权限。
sudo su
vim
命令编辑gitlab
的配置文件
vim /home/username/gitlab/config/gitlab.rb
- 用快捷键
i
进入编辑模式。 - 用Esc退出编辑模式
- 用:wq保存并且退出Vim
修改前
修改后:
修改SSH地址:
gitlab_rails['gitlab_ssh_host'] = '*************.***.***'
gitlab_rails['gitlab_shell_ssh_port'] = 00000
- 重启Gitlab的Docker实例生效
docker restart gitlab
- 你将得到一个可以http和ssh访问的gitlab
新建并注册GitLab Runner
注意,以下操作仅针对Docker场景,并且需要在Linux命令行执行最佳。
新建GitLab Runner
docker run -d --name gitlab-runner --restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest
备注
--restart
参数
Flag | Description |
---|---|
no | 不自动重启容器. (默认value) |
on-failure | 容器发生error而退出(容器退出状态不为0)重启容器 |
unless-stopped | 在容器已经stop掉或Docker stoped/restarted的时候才重启容器 |
always | 在容器已经stop掉或Docker stoped/restarted的时候才重启容器 |
如果是已经运行的Docker实例,可以通过
update
命令更新设置
docker update --restart=always gitlab
注册GitLab Runner
运行如下命令启动注册
docker run --rm -it -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register
前往位置:Gitlab项目
-Setting
-CI/CD
-Runners
-Expand
接下来,会要求你填写一些信息,其中Url地址和Token是需要你去GitLab项目CI/CD设置页面得到的,其他的信息就随意填写了。
设置完之后,最好重启一次实例。
docker restart gitlab-runner
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」