【Docker学习】16、使用 Docker 搭建 Gitlab 环境、并创建项目实现拉取、推送

it2023-04-04  72

文章目录

1、使用 Docker 搭建 Gitlab 环境(1)拉取镜像(2)文件映射(3)启动容器(4)设置中文 2、Gitlab 常见问题(1)克隆项目地址不是IP,而是一串编码(2)Failed to connect to gitlab port 80: Connection refused

1、使用 Docker 搭建 Gitlab 环境

(1)拉取镜像

这里直接拉取最新的ce版本,报错问题少一点,我第一次使用的阿里云的学生机,搭建gitlab环境时,启动容器很卡,就换了一个服务器,腾讯云2核8G,白嫖同事的用,下面开始搭建

docker pull gitlab/gitlab-ce

(2)文件映射

在Linux服务器上创建gitlab所需要的目录,存放配置和数据

mkdir -p /usr/local/docker/gitlab/config mkdir -p /usr/local/docker/gitlab/logs mkdir -p /usr/local/docker/gitlab/data

(3)启动容器

使用挂载的目录,以及配置端口映射

docker run -d \ -p 8443:443 -p 8090:80 -p 2222:22 \ -v /usr/local/docker/gitlab/config:/etc/gitlab \ -v /usr/local/docker/gitlab/logs:/var/log/gitlab \ -v /usr/local/docker/gitlab/data:/var/opt/gitlab \ --name gitlab gitlab/gitlab-ce

启动过程可能较慢,使用docker logs查看日志

docker logs -f gitlab

浏览器访问

http://106.52.96.138:8090/

首次访问设置密码,最短8位

然后登录,root/刚设置的密码,下面是搭建成功的界面!

(4)设置中文

右上角设置

选择语言设置

选择简体中文

刷新下浏览器即可

2、Gitlab 常见问题

(1)克隆项目地址不是IP,而是一串编码

随便创建一个项目,放一个README.md文件,然后点击克隆会发现,不像github那样是IP地址,并且拉取这个乱码的地址也会失败

修改配置文件

vi /usr/local/docker/gitlab/config/gitlab.rb

external_url是被注释掉的,在文件中增加以下配置

external_url 'http://106.52.96.138'

重启gitlab再次查看clone地址,如果报错502那就多等一下

docker restart gitlab

多等一下,也可以查看日志

(2)Failed to connect to gitlab port 80: Connection refused

问题原因:Gitlab生成的克隆地址没有带端口

我直接用 Git Bash Here 窗口拉取项目,克隆的地址来源于gitlab,我是直接复制的

git clone http://106.52.96.138/Tellsea/boot-gitlab-jenkins.git

直接报错

致命:无法访问’http://106.52.96.138/Tellsea/boot-gitlab-jenkins。git/’:连接到106.52.96.138端口80失败:拒绝连接

然后想到启动容器时,将80端口映射到了8090端口,这里增加端口拉取试一下

git clone http://106.52.96.138:8090/Tellsea/boot-gitlab-jenkins.git

拉取成功

所以我们现在的问题是,Gitlab生成的克隆地址没有带端口,该怎么样怎么样增加这个端口

首先,进入gitlab容器内部

docker exec -it gitlab /bin/bash

然后编辑配置文件

vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

重新启动gitlab,在这之前不要使用gitlab-ctl reconfigure,会还原配置

gitlab-ctl restart

然后检查gitlab中的克隆地址是否带了端口号

重新拉取项目,没有问题,nice

最新回复(0)