利用 WSL 搭建 gitlab docker 版本
部署用到的工具
- Windows Terminal: Windows 命令行神器
- WSL2: Windows子系统 Linux
- Docker:开源的应用容器引擎
- gitlab:代码管理工具
1. 安装WSL2
1.开启 "Windows Subsystem for Linux"
以管理员身份打开 PowerShell,输入如下命令,并重启电脑:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
2.设置 WSL2 为默认
打开 PowerShell,输入如下命令:wsl --set-default-version 2
3.安装 Linux 发行版本
3.1 打开 Microsoft Store , 搜索 Linux,下载Ubuntu
3.2 安装过程中,请设置用户名
3.3 设置root密码
输入命令:sudo passwd root
4.Windows Terminal 安装
1、打开 Microsoft Store , 搜索 Window Terminal,进行安装.
2、安装完成,打开 Ubuntu 命令界面
5.docker 安装
在 Windows Terminal Ubuntu 命令如下:
# 准备
sudo apt remove docker docker-engine docker.io
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
# 安装
sudo apt install docker-ce
# 启动
sudo service docker start
6.gitlab 安装
在 Windows Terminal Ubuntu 命令如下:
# 拉取镜像
sudo docker pull gitlab/gitlab-ce:latest
# 启动,注意:localhost 换成宿主机 ip,user 换成自己用户名
sudo docker run --detach --hostname localhost --publish 443:443 --publish 80:80 --publish 22:22 --name gitlab --volume /home/user/gitlab/config:/etc/gitlab --volume /home/user/gitlab/logs:/var/log/gitlab --volume /home/user/gitlab/data:/var/opt/gitlab -m 3g gitlab/gitlab-ce:latest
7.Window 与 Linux 网络打通
以管理员身份打开 PowerShell
# ip 为 Linux ip,请替换
netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=80 connectaddress=ip
8.重置Docker里的gitlab管理员用户密码
8.1.docker ps 找出容器的唯一标识
sudo docker ps
user@DESKTOP-KSERHIV:/mnt/c/Users/XXX$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
f47918ecd153 gitlab/gitlab-ce:latest "/assets/wrapper" 21 minutes ago Up 21 minutes (healthy) 0.0.0.0:22->22/tcp, :::22->22/tcp, 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp gitlab
8.2 docker exec -it f47918ecd153 /bin/bash
进入Docker容器运行环境
8.3 开始重置gitlab管理员用户密码
root@192:/# gitlab-rails console -e production
--------------------------------------------------------------------------------
Ruby: ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
GitLab: 14.0.5 (25fc1060aff) FOSS
GitLab Shell: 13.19.0
PostgreSQL: 12.6
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.3.2)
irb(main):001:0> user=User.where(id:1).first
=> #<User id:1 @root>
irb(main):002:0> user.password=‘123456‘
=> "123456"
irb(main):003:0> user.password_confirmation=‘123456‘
=> "123456"
irb(main):004:0> user.save!
Enqueued ActionMailer::MailDeliveryJob (Job ID: 89e9421a-8a23-4789-8833-d063410200cc) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", {:args=>[#<GlobalID:0x00007f5e32c89168 @uri=#<URI::GID gid://gitlab/User/1>>]}
=> true
irb(main):005:0> exit
重要的是,您必须同时更改密码和password_confirmation才能使其正常工作,别忘了保存更改
8.4 至此,管理员用户名重置完毕,重置后的密码为123456
9.访问 gitlab
最后,您可以在 Windows ,通过 http://ip
,访问 gitlab
10.相关链接:
https://www.cnblogs.com/zhang-yawei/p/12692493.html