Docker是一个被广泛使用的开源容器引擎,是一种操作系统级别的虚拟化技术,它以一种特殊进程的方式运行于宿主机上,它依赖于liunx内核特性:namespace(名字空间进行资源的隔离)和cgroups(限制、记录任务组所使用的物理资源),它也可以对应用程序进行打包。
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。
一、Windows下安装Docker
Docker下载:链接:https://pan.baidu.com/s/17aPWQZiIDpQ8JHsXU6w-rA 提取码:m5xn1、启用虚拟服务
Ctrl+Alt+Delete快捷键打开任务管理器,确定虚拟服务已经开启 :
2、启用Hyper-v服务
(1)打开控制面板,在程序与功能页面选择启用或Windows功能 :
(2)勾选Hyper-V并点击确认,启用完成后需要重启电脑:
注*:Windows家庭版启用方法
Windows家庭版没有Hyper-v功能。需要桌面新建一个文本文件,在文本文件中输入以下内容并保存,并将文本后缀改为:.bat
pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txtfor /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"del hyper-v.txtDism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
然后,在桌面上找到该应用,鼠标右键单击选择以管理员身份运行,打开后需等待一会,然后输入“Y”并确认重启电脑:
3、安装Docker
(1)双击Docker Desktop Installer.exe开始安装;
(2)默认勾选界面出现的选项:
(注:若在安装之前已打开Hyper-V,则在安装界面只有”Add shortcut to desktop”选项)
(3)安装结束,点击close:
(4)桌面双击快捷方式启动软件,必须勾选同意:
(注:若打开需要更行WSL,则安装提示在官网下载更新即可)
(5)在第(4)步的基础上,稍等片刻之后如图,点击start:
(6)一直点next直到done出现,点击done:
(7)点击done后如图,如图所示的图标是绿色的即为安装成功:
(8)以管理员身份打开cmd界面,输入下面的命令:
docker version
二、Docker安装GitLab
1、打开cmd窗口,通过命令去拉取gitlab镜像(GitLab中文社区开源版),输入以下命令(镜像下载需要一些时间):
docker pull twang2218/gitlab-ce-zh
下载完成如下图:
2、在盘符(任意盘符)中新建docker文件夹,在docker文件夹中建立gitlab文件夹,在gitlab文件夹中建立config、data、logs三个文件夹 ,如下关系所示:
docker |-gitlab |-config |-data |-logs |-docker-compose.yml
3、在第2步中新建的docker文件中新建文件:docker-compose.yml,内容如下:
version: '3' # 版本号services: # 开启服务 gitlab: # 服务名称 image: 'twang2218/gitlab-ce-zh:latest' # 使用镜像 restart: always hostname: 'GitLab' # 主机名称(自定义) environment: # 环境配置 TZ: 'Asia/Shanghai' GITLAB_OMNIBUS_CONFIG: | external_url 'http://172.27.128.1' #本机IP,内网以太网IPV4地址(GitLab访问地址) gitlab_rails['gitlab_shell_ssh_port'] = 1022 unicorn['port'] = 8888 nginx['listen_port'] = 8080 ports: # 端口映射,格式为“本机IP:Docker镜像内部IP” - '1080:8080' #http - '1043:1443' #https - '1022:22' #ssh volumes: # 挂载卷 # 前面是Windows的地址所以斜杠向右;后面是Linux的地址所以向左 - D:\docker\gitlab\config:/etc/gitlab - D:\docker\gitlab\data:/var/opt/gitlab - D:\docker\gitlab\logs:/var/log/gitlab
4、执行docker-compose.yml文件完成服务器部署:
在docker-compose.yml文件所在的位置打开cmd窗口,执行如下命令完成服务器部署:
docker-compose up -d
执行如下图所示则为部署成功:
5、在docker desktop中containers查看服务器状态,虽然显示在running中,但是需要等待一段时间才能在网页访问服务器:
(注*:若在执行docker-compose up -d 后在docker界面的服务一直在重启,若报错日志为挂载卷没有权限,则在docker-compose.yml文件中把volumes相关挂在注释掉)
6、打开浏览器,输入:172.27.128.1:1080进入页面(访问端口默认:1080):
7、修改root用户密码,使用root账户登陆,登陆成功以后,跳转到GitLab主页面:
三、GitLab:
1、使用root用户登录GitLab并创建管理员账号,然后使用管理员账号创建项目,使用管理员账号创建项目组人员账号;
2、在本地安装Git客户端,傻瓜式安装即可;
3、若有本地项目代码文件需上传搭建好的GitLab服务器,先在项目文件中拉取项目代码:
(注:由于在Docker上部署GitLab服务器的配置文件docker-compose.yml中的访问地址没有配置端口,GitLab页面访问默认端口为:1080,故在使用Git命令采用HTTP方式拉取代码时需在链接中加上端口:1080)
在拉取代码时遇到的问题:
若是报“couldn‘t connect to server”的错误,端口代理冲突,需要做将端口设置为一致即可:
1、先查询本机端口,在Git bash窗口输入: git config --global http.proxy2、得到127.0.0.1:xxx的结果,再输入以下命令: git config --global http.proxy 127.0.0.1:xxx 注*:若是本地则将127.0.0.1的端口修改为GitLab页面访问的端口一直即可,若是访问其他服务器将 127.0.0.1:xxx修改为要访问服务器的ip地址以及端口
4、 拉取GitLab服务器项目后,将本地项目文件上传GitLab项目中,依次执行以下命令:
(注:若是在项目master分支上直接push会失败,则在GitLab项目中基于master分支新建分支并切换分支:Git Bash切换分支:
# 查看所有的分支git branch -a# 切换目标分支git checkout 目标分支
后执行以下命令):
git add .git commit -m "描述语句"git push
5、若要设置SSH,按以下命令操作:
(1)在git命令窗口配置用户,输入命令:git config --global user.name "xxx"。其中“xxx”是你自己要填的用户名;
(2)配置邮箱:git config --global user.email "xxx@fomail.com","xxx@fomail.com"为注册GitLab用户的邮箱地址;
(3)生成SHH公钥和私钥:ssh-keygen -t rsa -C "xxx@fomail.com";
(4)进入C盘->用户(user)->xxx-.ssh下查看私钥和公钥:
(5)将公钥复制出粘贴到GitLab上即可: