windows 下 安装 Docker 并在Docker 中安装GitLab 并进行相关的设置
安装Docker Desktop
1,下载这个Docker Desktop Installerwin
软件 微软官网 目前只支持 win10较新的版本
2,安装并设置 软件会自动提示你的电脑是否满足。什么虚拟化的 (我就假设你懂的,不懂的你百度一下,再回来看)
安装好了会提示你重启电脑
设置镜像
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
设置完成重启动一下 输入 docker -v 查看是否安装好了
2--------------------------------------------------------------------------------------------安装GitLab-------------------------------------------------------------------------------------------------
ps:上代码
docker pull gitlab/gitlab-ce
这个 因为已经有加速镜像了 所以几分钟就下载好,比 虚拟机不知道要快多少倍
自动安装完之后 就可以运行了
docker run -d -it -p 4431:443 -p 801:80 -p 2221:22 docker.io/gitlab/gitlab-ce
然后 输入 docker ps 查看容器的运行状态 直到边为 UP 之后
输入 l你的ip:801 打开 如下界面 表示成功啦,
3---------------------------------------------------------------------------------给GitLab设置中文,优化,ssl ,ssh--------------------------------------------------------------------------------------
内网一般关闭 外网图像和自己注册 ,
2 使用 Git bash 创建 key
ssh-keygen -t rsa -C “your@email.com” 直接空格,会在administrat/.ssh/ 生成两个文件
使用 ssh clone 一个项目实验一下(😓,) 会发现不能克隆
哈哈哎,这是什么鬼鬼,,,,
嗯没有对gitLab 进行配置 好了 配置一下
docker exec -it nervous_mclaren /bin/bash vim /etc/gitlab/gitlab.rb gitlab_rails['gitlab_ssh_host'] = '你的本机IP' gitlab_rails['gitlab_shell_ssh_port'] = 22 # 此端口是run时22端口映射的222端口 gitlab-ctl reconfigure gitlab-ctl restart
到这里基本上就可以啦
然而故事并没有这么简单
····································································发现巨坑 BUT 填平它·························································································
这是因为
Linux系统流行的OpenSSH并不支持Windows,网上搜索Windows安装OpenSSH大部分是比较老的教程,也试着装过MobaSSH。这种ssh是基于cygwin的,ssh连接后依然使用的linux命令,而且文档路径写法也不一样容易出错。。。
经过一番寻找,终于找到了微软官方的解决方案:
基于PowerShell的OpenSSH:https://github.com/PowerShell/Win32-OpenSSH/releases
详细说明可以参考Github的Wiki,这里简单说下安装步骤:
安装步骤:
1、进入链接下载最新 OpenSSH-Win64.zip(64位系统),解压至C:\Program Files\OpenSSH
2、管理员账户打开cmd,cd进入C:\Program Files\OpenSSH(安装目录),执行命令:
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
sc config sshd start= auto
net start sshd
执行完成地区是可以直接连linux 我实验的确可以,
但是 ,,,,,git 的ssh 还是不行
报这个没有权限的错,我觉得我下载个文件而已,,很奇怪
重新生成 试试
ssh-keygen -t rsa -C "your_email@example.com"
这次报这个错。
最后,docker 中的 linux
systemctl restart sshd
这个命令不起作用,,,这,,,我就不会了,先到这里吧,睡觉了
添加这个配置在gitlab 里应该是对的啊
vim /etc/ssh/sshd_config
PasswordAuthentication yes
systemctl restart sshd
哦哦哦,原来是本地启用ssh 而docker 启动的时候有转发过去导致的,我访问本地肯定是不行啊,,,哦哦哦,
这个大概明白是什么问题了
地址不对,这个ssh 地址端口应该是2221 而链接指定的ssh端口
是需要指定一个 这样的格式
git clone ssh://git@192.168.2.110:2221/root/test.git
成功啦啊,,,,,哈哈哈,