Ubuntu Docker 搭建 GitLab

Posted majiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu Docker 搭建 GitLab相关的知识,希望对你有一定的参考价值。

1.首先创建一个目录用于存放配置

sudo docker pull docker.io/gitlab/gitlab-ce
sudo mkdir -p /root/docker/gitlab/config
sudo mkdir -p /root/docker/gitlab/logs
sudo mkdir -p /root/docker/gitlab/data

2.运行实例(关于最新版本的https 没有搞定,晚上说的都是旧版本, 尝试了一下 旧版本也是无果的,还有官方的新版有很多监控)

docker run -d --hostname 192.168.100.5  -p 2222:22  -p 8080:80  -p 8443:443   -v /root/docker/gitlab/config:/etc/gitlab   -v /root/docker/gitlab/logs:/var/log/gitlab   -v /root/docker/gitlab/data:/var/opt/gitlab   --restart always  --name gitlab  gitlab/gitlab-ce:latest
# --hostname 指定容器域名,未知功能:创建镜像仓库的时候使用到
# 将容器内443端口映射到主机8443,提供https服务
# 将容器内80端口映射到主机8080,提供http服务
# 将容器内22端口映射到主机2222,提供ssh服务

查看Gitlab容器运行情况

docker inspect gitlab --format ".State.Status"

首先,备份默认gitlab.rb和gitlab.yml

cd /root/docker/gitlab/config
cp gitlab.rb gitlab.rb.default

按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址(实际上我搞了很久也没有搞定external_url , 也就是http访问, 最后实在不行就用ssh协议吧),修改/root/docker/gitlab/config/gitlab.rb

# 配置http协议所使用的访问地址
external_url http://192.168.100.5
#nginx[listen_addresses] = [*, [::]]
#nginx[listen_port] = 8080
# 配置ssh协议所使用的访问地址和端口
#gitlab_rails[gitlab_ssh_host] = 192.168.100.5
#gitlab_rails[gitlab_shell_ssh_port] = 2222 # 此端口是run时22端口映射的2222端口

然后重启容器:

docker exec -t gitlab gitlab-ctl reconfigure
docker exec -t gitlab gitlab-ctl restart

4..初次使用gitlab时需要创建默认管理员密码,至少8位,这里输入“12345678”。 
我们在登录那里使用root作为用户名,然后用刚刚设置的密码,就可以以管理员身份登录Gitlab。 

技术图片

技术图片技术图片?

我们来创建一个项目(public 不需要login的),然后简单测试一下,如果用户是windows建议可以考虑安装GitTortoiseGit图形界面操作。

技术图片技术图片?

 

技术图片技术图片?

上面我们这个项目是public, 现在修改为internal(需要用户密码)

技术图片技术图片?

然后修改tortoisegit设置

技术图片技术图片?

最后如图:

技术图片技术图片?

目前还有个遗留问题,就是external_url 的配置(现在在gitlab上的http克隆地址是http://192.168.100.5/root/webapi.git,是没有8080端口,是我自己手动添加的),网上找了很多方法都没有搞定。

参考:

docker安装配置gitlab详细过程

通过docker安装Gitlab

Use Docker-Compose to Run Gitlab via Https With Self-signed CA

正确使用 Docker 搭建 GitLab 只要半分钟

Centos7:Docker安装Gitlab

使用docker-compose搭建gitlab

以上是关于Ubuntu Docker 搭建 GitLab的主要内容,如果未能解决你的问题,请参考以下文章

在 ubuntu 搭建 docker registry 私有仓库

Ubuntu搭建docker环境

Ubuntu Docker 搭建 GitLab

Docker 环境搭建 ubuntu

docker 搭建ubuntu+mysql环境教程

ubuntu16搭建docker私库