docker搭建私有gitlab仓库

我用的是ubuntu18的环境

第一步 安装docker

国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh

ps:如果没安装curl,要先安装curl

ubuntu换源链接:https://www.cnblogs.com/cnroadbridge/p/15194989.html

sudo apt install curl

执行完以上命令docker就安装成功了,可以在命令行输入docker进行测试

 

第二步 拉取镜像

 


我这里拉的是12.3.5版本的,因为最新版本的汉化包没有找到,考虑汉化的小伙伴可以照着这个操作来:

用原来的docker源拉去镜像速度极慢,建议docker换源:

vi /etc/docker/daemon.json 【这个文件默认是没有的】
复制以下内容,粘贴到打开的文件里:
{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://ustc-edu-cn.mirror.aliyuncs.com",
    "https://ghcr.io",
    "https://mirror.baidubce.com"
  ]
}

保存以后执行以下命令重启docker服务

service docker stop
service docker start

现在拉取镜像就很快了

docker pull gitlab/gitlab-ee:12.3.5-ee.0

 

第三步 docker run命令创建并启动容器

1.先创建映射文件夹
mkdir /opt/gitlab/logs
mkdir /opt/gitlab/data
mkdir /opt/gitlab/config

2.启动:
docker run -d -p 800:80 -p 220:22 --name gitlab --restart unless-stopped -v /opt/gitlab/config:/etc/gitlab -v /opt/gitlab/logs:/var/log/gitlab -v /opt/gitlab/data:/var/opt/gitlab -v /etc/localtime:/etc/localtime gitlab/gitlab-ee:12.3.5-ee.0

   到这里就启动成功了,访问端口号是800,可以查看启动的容器哦

   docker ps

   开通防火墙端口

  

firewall-cmd --zone=public --permanent --add-port=800/tcp

firewall-cmd --zone=public --permanent --add-port=4430/tcp

firewall-cmd --zone=public --permanent --add-port=220/tcp

firewall-cmd --reload

 

 localhost:800  【虚拟机内部访问地址】

 

 我这个是已经汉化过的,如果不需要汉化的小伙伴们到这里就可以使用了

 默认的超级用户是root,密码第一次访问时会提醒你设置。

第四步 汉化部分

1.首先进入容器

     docker  exec -it   容器ID  /bin/bash

2.查看gitlab的版本

    cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

3.使用wget获取具体的版本的汉化包

   3.1   wget https://gitlab.com/xhang/gitlab/-/archive/v12.3.5-zh/gitlab-v12.3.5-zh.tar.gz

   3.2   tar -zxf gitlab-v12.3.5-zh.tar.gz

 如果内部无法下载,可以自己在外面下载好然上传到docker(此操作要exit退出docker容器执行)

    docker  cp  gitlab-v12.3.5-zh.tar.gz  a15a64191d59988a2f733e3d1dd241e0ac9d2a4a6b1eafe5a75ef1875293bb18:/home/mydownload

    docker cp 【ubuntu文件路径】 【容器完整ID】:/【docker路径】

    然后重新进入docker容器执行3.2

4.停掉gitlab服务

    gitlab-ctl stop

5.备份原文件

     cp -fr /opt/gitlab/embedded/service/gitlab-rails{,gao-`date +%Y%m%d`}

6.复制

      cp -rf ./gitlab-v12.3.5-zh/* /opt/gitlab/embedded/service/gitlab-rails/

      复制的过程中出现这2句是没问题的

      cp: cannot overwrite non-directory ‘/opt/gitlab/embedded/service/gitlab-rails/log’ with directory ‘./log’

      cp: cannot overwrite non-directory ‘/opt/gitlab/embedded/service/gitlab-rails/tmp’ with directory ‘./tmp’

7.复制完成后,需要重新加载配置,并启动Gitlab

      gitlab-ctl reconfigure

      gitlab-ctl restart

8.退出gitlab

       exit

9.重启容器

       docker restart  容器ID

       访问中有可能出现502  那请重复1,7步 重新启动gitlab服务

  第一次重启容器可能遇到重启失败【Ip映射】的问题:

        执行以下操作:

                  iptables -t filter -F

                  iptables -t filter -X

10.完成


参考:
https://www.cnblogs.com/anliven/p/12070966.html#_label3

https://www.cnblogs.com/YorkQi/p/13658123.html

 

posted on 2022-04-12 13:26  python_知了知了  阅读(173)  评论(0)    收藏  举报

导航