Docker搭建私有gitlab仓库

docker在centos安装教程:

官方教程:https://docs.docker.com/install/linux/docker-ce/centos/
1.查询是否安装过

yum list installed | grep docker

2.卸载旧版本

sudo yum -y remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

3.安装所需软件包

sudo yum -y install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

4.设置稳定的存储库

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

5.安装最新版本的Docker Engine-Community和containerd

sudo yum -y install docker-ce docker-ce-cli containerd.io

6.启动docker

sudo systemctl start docker

7.通过运行hello-world 映像来验证是否正确安装了Docker

sudo docker run hello-world
  • 此命令下载测试图像并在容器中运行。容器运行时,它会打印参考消息并退出


    image.png

下面就开始搭建gitlab仓库

1.拉取gitlab镜像

docker pull gitlab/gitlab-ce

2.下载速度太慢,设置国内的阿里镜像加速
docker阿里镜像地址,具体使用参考下面链接

参考地址 https://blog.csdn.net/Funny_Ma/article/details/96478395

3.启动gitlab

sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 10443:443 --publish 1080:80 --publish 1022:22 \
  --name gitlab \
  --restart always \
  --volume /usr/local/docker/gitlab/config:/etc/gitlab \
  --volume /usr/local/docker/gitlab/logs:/var/log/gitlab \
  --volume /usr/local/docker/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest
  • 解释一下上面的一条长命令

--hostname gitlab.example.com \ # 设置主机名或域名
--publish 10443:443 --publish 1080:80 --publish 1022:22 \ #本地端口的映射
--name gitlab \ # gitlab-ce 的镜像运行成功的容器命名为gitlab
--restart always \ # 设置重启方式,always 代表一直开启,即开机自启
--volume 分别将 gitlab 的配置文件、日志文件、数据文件目录映射到 /usr/local/docker/gitlab的相应目录中

4.通过命令查看所有容器

docker ps -a
image.png

5.因为我们把gitlab映射到1080端口,所以防火墙开启1080端口

# 开启1080端口
firewall-cmd --zone=public --add-port=1080/tcp --permanent 
# 重启防火墙才能生效
systemctl restart firewalld
# 查看已经开放的端口
firewall-cmd --list-ports

5.访问http://192.168.8.128:1080

  • 注意改成你服务器的ip
  • 第一次访问让你设置密码,默认账户是root
image.png
  • 设置好密码,root账户名登录即可


    image.png
image.png
  • 接下来怎么使用,就不是本文要讲的范围了哦
  1. 新建一个项目,clone的时候发现地址http://gitlab.example.com/root/test.git
    image.png

上面设置的时候设置主机名或者域名的时候设置了gitlab.example.com,这时候怎么解决?

  • 去上面那条长命令找到配置文件地址,我的是这个
cd /usr/local/docker/gitlab/config

  • vim打开进入这个文件


    image.png
  • 搜索这行# external_url 'GENERATED_EXTERNAL_URL'

  • 去掉注释并改成你的ip或域名,保存退出。


    image.png
  • 使配置生效

docker exec gitlab gitlab-ctl reconfigure
  • 重启gitlab
docker restart gitlab
image.png
  • 启动gitlab较慢,遇到502多等一会。
  • 启动成功,看到clone的url已经修改成了ip


    image.png

windows上用docker搭建gitlab私库

  • 注意更改gitlab的config/logs/data的目录到windows的指定目录
docker run -d --hostname localhost -p 10080:80 -p 10443:443 --name gitlab --restart always -v D:\java\docker\gitlab\config:/etc/gitlab -v D:\java\docker\gitlab\logs:/var/log/gitlab -v D:\java\docker\gitlab\data:/var/data/gitlab gitlab/gitlab-ce:latest
  • 上面的命令执行完后可执行下面命令查看gitlab容器的状态
docker ps -a
  • 如果状态一直是health: starting 而不变成healthy,则打开配置文件夹,如上面长命令中设置的配置文件夹为D:\java\docker\gitlab\config,则打开这个文件夹下的gitlab.rb文件。修改其中配置
external_url 'http://你的ipv4地址'
gitlab_rails['gitlab_shell_ssh_port'] = 10022
  • 再次执行docker ps -a发现状态变成healthy就可以访问了,没变可以重启gitlab容器
docker restart gitlab
  • 成功启动后访问localhost:10080就可以设置密码了。默认账户名root

你可能感兴趣的:(Docker搭建私有gitlab仓库)