…
好记性不如烂笔头,在Docker中安装一个开源项目GitLab在我的小仓库。
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。
阅读须知
- 本文根据 GitLab 官方文档 完成安装部署以及问题解决。
- 安装 GitLab 之后,可以阅读后续文章 【GitLab-Runner】 CI/CD 持续集成、持续交付和持续部署
- 本文涉及到 Docker DeskTop Windows方向的安装
- 了解掌握 Docker命令
一、Git、GitLab、Gitee与Github的区别
- Git 是一个版本控制系统,类似cmd,主要用来管理项目版本
- Github 是一个基于git实现的在线代码托管仓库,向互联网开放,国内访问比较慢,需要开加速器
- GitLab 是一个开源代码托管仓库,需要自己搭建环境,企业的核心代码一般不会上传到外网上,因此GitLab使用的很多
- Gitee 是基于GitLab开源软件开发的,无需自己搭建环境
二、安装Docker DeskTop
- Docker 若需要在 Windows 上运行,目前只能通过虚拟机在二者之间进行兼容。
- 因此要么选择安装VM虚拟机,在虚拟机上安装linux操作系统,再安装docker;要么需要Windows专业版,开启Hpyer-V功能(家庭版可以去攻略查找如何开启Hpyer-V)。
- 在我的Window10 专业版上安装一个 Docker DeskTop前,需要先检测是否可以安装。
# 在 cmd 中发出命令
systeminfo
- 在设置-应用和功能-可选功能中开启Hyper-V功能,然后重启。
- 接下来就可以安装Docker Desktop了。
注意!在安装过程中如果勾选了使用WSL2 代替 Hpyer-V,可能会报以下错误
根据提示要求,进行安装WSL2 ,安装 WSL2 步骤略
- 最后成果
三、docker 拉取配置以及部署完成GitLab镜像
根据 GitLab官方 给出的文档进行安装。
# 搜索所有Gitlab images
docker search gitlab
# 下载
docker pull gitlab/gitlab-ce:latest
# 查看所有镜像
docker images
# 创建Gitlab挂载目录
# 在D盘分别创建config,logs,data目录
# 创建docker中的网络
docker network create gitlab_net
# 使用image启动Gitlab容器, 启动前确认8080 没被使用 并且添加到iptables或者firewall里面(允许外部访问)
docker run --detach^
--hostname gitlab.example.com^
--publish 443:443 --publish 80:80 --publish 22:22^
--name gitlab^
--restart always^
--volume D:/Ku/sc/docker/volumes/config:/etc/gitlab ^
--volume D:/Ku/sc/docker/volumes/logs:/var/log/gitlab ^
--volume D:/Ku/sc/docker/volumes/data:/var/opt/gitlab ^
--shm-size 256m^
gitlab/gitlab-ce
# 登录Gitlab
http://192.168.0.1:18080成功的话需要修改root账号的密码,随意设置即可。密码修改成功后,系统进入登录/注册页面
# 配置gitlab
登入container: docker exec -it gitlab /bin/bash
根据官方文档进行设置。编辑/etc/gitlab/gitlab.rb文件,这是Gitlab的全局配置文件
官方文档:https://docs.gitlab.com/omnibus/settings/configuration.html
# 编辑D:/Ku/sc/docker/volumes/config 在指定位置添加配置
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://X.X.X.X'
# 配置ssh协议所使用的访问地址和端口 这边和上面的一样
gitlab_rails['gitlab_ssh_host'] = 'X.X.X.X'
# 此端口是run时22端口映射的222端口
gitlab_rails['gitlab_shell_ssh_port'] = 22
# 配置完成后,重启gitlab容器
docker restart gitlab
# 打开浏览器输入 http://X.X.X.X
# 最后,完成啦。
四、docker 拉取镜像超时问题解决
docker pull镜像的时候非常不稳定,速度慢不说还经常超时失败
# 解决办法:配置国内镜像
# Docker中国区官方镜像地址: https://registry.docker-cn.com
# 网易地址: http://hub-mirror.c.163.com
# 中国科技大学地址: https://docker.mirrors.ustc.edu.cn
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn/",
"https://reg-mirror.qiniu.com",
"https://registry.docker-cn.com"
]