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

  

成功啦啊,,,,,哈哈哈,

 

 

 

posted @ 2020-03-27 22:22  一颗大白鲸  阅读(2104)  评论(2编辑  收藏  举报