Windows系统下搭建Docker、GitLab服务
创始人
2024-11-10 07:33:28
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 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.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上即可:

相关内容

热门资讯

攻略教程!!竞技联盟透视插件德... 攻略教程!!竞技联盟透视插件德扑之星技巧(就是真的有挂)1)竞技联盟透视插件辅助挂:进一步探索竞技联...
技术分享!aapoker透明挂... 技术分享!aapoker透明挂微扑克脚本代写(透明黑科技)原来真的有挂(wpk教程);1、aapok...
分享认知!wpk有外挂线上德州... 分享认知!wpk有外挂线上德州后台可以操控吗(辅助)其实真的有挂(爆料教程)1、让任何用户在无需wp...
热门推荐!we辅助poker德... 热门推荐!we辅助poker德之星wpk微扑克真的有辅助插件吗(透视辅助)其实真的有挂(透明教程)1...
科技通报!德扑之星有猫腻微扑克... 科技通报!德扑之星有猫腻微扑克有没有挂(透视辅助)其实真的有挂(wepoke教程)1、下载好德扑之星...
实测交流!wepower辅助器... 实测交流!wepower辅助器wepoke辅助插件(辅助)原来真的有挂(解密教程)1、下载好wepo...
玩家必看秘籍!wepokeai... 玩家必看秘籍!wepokeai机器人扑克世界牌局设置(透视辅助)原来真的有挂(解密教程)1、操作简单...
玩家必看科普!wepoke a... 玩家必看科普!wepoke ai辅助aapoker安卓版辅助(辅助)原来真的有挂(攻略方法)1、we...
教程辅助!wepoke辅助德州... 教程辅助!wepoke辅助德州ai辅助代理(透视辅助)其实真的有挂(安装教程)1、德州ai辅助ai辅...
每日必看推荐!aapoker透... 每日必看推荐!aapoker透视辅助德扑之星隐藏功能(辅助挂)其实真的有挂(系统教程)1、游戏颠覆性...