Windows系统下搭建Docker、GitLab服务

avatar
作者
猴君
阅读量:0

        Docker是一个被广泛使用的开源容器引擎,是一种操作系统级别的虚拟化技术,它以一种特殊进程的方式运行于宿主机上,它依赖于liunx内核特性:namespace(名字空间进行资源的隔离)和cgroups(限制、记录任务组所使用的物理资源),它也可以对应用程序进行打包。

        GitLab 是一个用于仓库管理系统开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务

  • 一、Windows下安装Docker

  • Docker下载:
  • 链接:https://pan.baidu.com/s/17aPWQZiIDpQ8JHsXU6w-rA 
  • 提取码:m5xn
  • 1、启用虚拟服务

        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.txt for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i" del hyper-v.txt Dism /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 desktopcontainers查看服务器状态,虽然显示在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.proxy  2、得到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上即可:

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!