使用Docker快速搭建Gitlab,部署Git服务

安装Docker

安装 Docker 的方式相对简单,直接去 Docker 官网(www.docker.com),按照操作在liunx安装Docker

安装 Docker 完毕之后,我们可以通过执行 docker 命令来验证是否安装成功,执行命令如下所示:

docker

命令执行之后,Docker 返回的信息如下图所示:
在这里插入图片描述
在上图中可以看到 Docker 返回的帮助信息,说明我们安装 Docker 已经成功。

下载 Gitlab 镜像

接着我们使用 Docker 去下载 gitlab的镜像,Docker 下载 Gitlab 镜像的命令如下所示:

docker pull gitlab/gitlab-ce

命令执行完毕之后,Docker 返回的信息如下图所示:
在这里插入图片描述
在上图中可以看到下载进行已经完成,这个下载的时间会根据你网速来决定,接着我们可以通过查看镜像列表来确认是否下载成功,执行命令如下所示:

docker images

命令执行完毕之后,Docker 返回的镜像列表如下图所示:
在这里插入图片描述
在上图中可以看到gitlab/gitlab-ce这个镜像,说明已经下载到本地了。接着我们先装备几个文件夹,这些文件夹将来要映射到 Gitlab 这个服务中,这样数据便会产生在这几个文件夹里面,将来做数据迁移更方便,建立相关存储文件夹,config 配置文件、logs 日志文件、 data 数据文件,执行的命令如下所示:

mkdir -p ~/config/gitlab/config
mkdir -p ~/config/gitlab/logs
mkdir -p ~/config/gitlab/data

命令执行完毕之后,我们使用ls命令确认一下,返回的信息文件夹列表如下所示:
在这里插入图片描述
在上图中可以看到三个文件夹已经创建成功,他们的绝对路径位于:

/root/config/gitlab/config
/root/config/gitlab/logs
/root/config/gitlab/data
运行Gitlab容器

接着,我们就可以使用 Gitlab 镜像来启动容器实例,Gitlab 提供 http 和 https 服务,我们将容器实例的443端口映射到宿主机的8443端口,容器实例的80端口映射到宿主机的53380端口,容器实例的22端口映射到宿主机的2222端口,接着把我们刚才创建好的配置文件夹、日志文件夹、数据文件夹挂载到容器里面去,最终的启动脚本命令为:

docker run --detach --publish 8443:443 --publish 53380:80 --publish 2222:22 --name gitlab --restart always -v /root/config/gitlab/config:/etc/gitlab -v /root/config/gitlab/logs:/var/log/gitlab -v /root/config/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

在这里插入图片描述
在上图中可以看到一个容器实例的 ID,也可以通过查看容器列表来查看当前有几个容器在运行,查看运行的容器列表命令如下所示:

docker ps

命令执行完毕之后,docker返回的容器列表如下所示

CONTAINER         ID               IMAGE              COMMAND              CREATED   STATUS                 PORTS     
NAMES
47f3b91c7e3c  gitlab/gitlab-ce    "/assets/wrapper"   28 seconds ago      Up 26 seconds (health: starting)   0.0.0.0:2222->22/tcp, 0.0.0.0:8090->80/tcp, 0.0.0.0:8443->443/tcp   gitlab

在可以看到目前只有一个 Gitlab 容器在运行,我们可以通过docker logs命令查看容器的标准输出日志,执行命令如下所示

docker logs -f gitlab

命令执行完毕之后,可以看到初始化的过程,当初始化完成之后,能看到如下图所示的信息:
在这里插入图片描述

Gitlab管理配置

启动完成之后,我们就可以打开 Gitlab 的 web 管理页面进行管理了,在浏览器中输入网址:http://localhost:8090即可进入Gitlab 页面,首次进入管理页面时候,会让你设置 root 用户的密码,直接修改密码即可

但是也可能出现如下情况,没有出现设置密码界面,如下图所示:
在这里插入图片描述
默认用户名为root,默认密码需要自己设置。

如何设置呢?接着往下看

首先寻找创建的gitlab容器名称

docker ps

进入GitLab容器

docker exec -it 容器名称 bash

启动Ruby on Rails控制台

gitlab-rails console -e production

搜索电子邮件或用户名

user = User.where(id: 1).first

更改密码

user.password = 'your_pass'

确认更改密码

user.password_confirmation = 'your_pass'

保存

user.save!

修改登录成功,如下图所示:
在这里插入图片描述

注册新用户

新用户注册后,如下图所示。
在这里插入图片描述
这是因为注册账户后需要管理员审批,登录管理员账户-右上角点击
在这里插入图片描述
点击头像按钮
在这里插入图片描述
选择用户-等待审批-审批批准
在这里插入图片描述
批准权限
在这里插入图片描述
通过后,新注册的用户即可登录使用Git服务

git push遇到的问题

在push本地文件的时候,报如下错误:RPC failed; curl 56 Recv failure: Connection was reset.’

解决方法,打开cmd,修改git配置(加大httpBuffer) 即可

git config --global http.postBuffer 524288000
从gihub导入项目遇到的问题

在导入github项目的时候,填写token之后,遇到下图错误
在这里插入图片描述
由于时间紧迫,因此采取了折中办法来导入项目。

首先,注册gitlab官方网站账号,将github项目导入其中,然后将官方的gitlab项目导入我们自己搭建的gitlab项目,就可以了。
在这里插入图片描述

参考文献
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
下面是使用Docker Compose搭建GitLab仓库的步骤: 1. 首先安装DockerDocker Compose。 2. 创建一个目录,用于存放GitLab的配置文件和数据。 ``` mkdir -p /srv/gitlab/config mkdir -p /srv/gitlab/data mkdir -p /srv/gitlab/logs ``` 3. 创建docker-compose.yml文件,并加入以下内容: ```yaml version: '3' services: gitlab: image: gitlab/gitlab-ce:latest restart: always hostname: 'gitlab.example.com' # 根据实际情况修改 environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.example.com' # 根据实际情况修改 gitlab_rails['gitlab_shell_ssh_port'] = 2222 # 根据实际情况修改 gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.gmail.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "[email protected]" # 根据实际情况修改 gitlab_rails['smtp_password'] = "your_password" # 根据实际情况修改 gitlab_rails['smtp_domain'] = "smtp.gmail.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = false gitlab_rails['smtp_openssl_verify_mode'] = 'peer' gitlab_rails['backup_keep_time'] = 604800 gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" ports: - '80:80' - '443:443' - '2222:22' volumes: - '/srv/gitlab/config:/etc/gitlab' - '/srv/gitlab/logs:/var/log/gitlab' - '/srv/gitlab/data:/var/opt/gitlab' ``` 注意修改`hostname`和`external_url`为实际的域名和URL。 4. 启动GitLab容器。 ``` docker-compose up -d ``` 这个命令会在后台启动GitLab容器,并把容器的日志输出到终端。 5. 等待GitLab容器启动完成,打开浏览器,访问`http://gitlab.example.com`,就可以看到GitLab的登录页面了。第一次登录需要设置管理员账号和密码。 6. 如果需要备份GitLab数据,可以使用以下命令: ``` docker exec -t gitlab gitlab-rake gitlab:backup:create ``` 这个命令会在GitLab容器内部执行备份操作,并把备份文件保存到`/var/opt/gitlab/backups`目录下。可以使用`docker cp`命令把备份文件拷贝到宿主机上。需要定期执行备份操作,以保证数据安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安替-AnTi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值