当前位置:首页 » 《我的小黑屋》 » 正文

Windows系统下搭建Docker、GitLab服务

18 人参与  2024年04月29日 08:17  分类 : 《我的小黑屋》  评论

点击全文阅读


        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.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上即可:


点击全文阅读


本文链接:http://zhangshiyu.com/post/101708.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1