Ubuntu 系统下基于Docker 运行GitLab

  1. 环境信息
    # 1.1 硬件信息
    5年戴尔小破本:4 core 8g i5
    
    # 1.2 系统版本
    axuduo@axuduo:~$ uname -a
    Linux axuduo 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
    
    # 1.3 docker 版本
    axuduo@axuduo:~$ docker -v
    Docker version 20.10.22, build 3a2c30b
    
    # 1.4 gitlab信息
    axuduo@axuduo:~$ sudo docker images 
    REPOSITORY         TAG       IMAGE ID       CREATED         SIZE
    gitlab/gitlab-ce   latest    46cd6954564a   12 months ago   2.36GB
    

     

  2. docker 安装
    # 2.1 更新及安装GPG证书
    sudo apt update sudo apt
    -get install ca-certificates curl gnupg lsb-release
    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

    # 2.2 添加阿里云软件源信息
    sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
    # 2.3 安装docker
    sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
    # 2.4 重启docker
    service docker restart
    # 2.5 配置阿里云镜像加速,此处为就改动了哈 XXXXX
    sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://XXXXX.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
    # 2.6 设置开机启动
    sudo systemctl enable docker
    
    # 2.7 单独的启动命令
    sudo systemctl start docker

     

  3. gitlab 拉取
    # 3.1 查找镜像
    axuduo@axuduo:~$ sudo docker search gitlab/gitlab-ce
    NAME                  DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    gitlab/gitlab-ce      GitLab Community Edition docker image based …   3778                 [OK]

    # 3.2 拉取镜像
    sudo docker pull gitlab/gitlab-ce:latest
    # 3.2 创建容器运行挂载本地文件夹
    mkdir gitlab gitlab/etc gitlab/log gitlab/opt  
    # 3.3 运行容器
    docker run -id -p 1111:80 -p 2222:22 -v /axuduo/gitlab/etc:/etc/gitlab  -v /axuduo/gitlab/log:/var/log/gitlab -v /axuduo/gitlab/opt:/var/opt/gitlab --restart always --privileged=true --name gitlab gitlab/gitlab-ce

    =======命令解释=======
    -i  以交互模式运行容器,通常与 -t 同时使用命令解释:
    -d  后台运行容器,并返回容器ID
    -p 1111:80  将容器内80端口映射至宿主机1111端口,这是访问gitlab的端口
    -p 2222:22  将容器内22端口映射至宿主机2222端口,这是访问ssh的端口
    -v ./gitlab/etc:/etc/gitlab  将容器/etc/gitlab目录挂载到宿主机./gitlab/etc目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样
    --restart always  容器自启动
    --privileged=true  让容器获取宿主机root权限
    --name gitlab-test  设置容器名称为gitlab
    gitlab/gitlab-ce  镜像的名称,这里也可以写镜像ID

     

  4. 修改配置
    # 4.1 进入容器内修改配置
    sudo docker exec -it gitlab /bin/bash

    # 4.2修改gitlab.rb
    vi /etc/gitlab/gitlab.rb
    ***************************因为本机配置较低所以采用基础配置*************
    #设置超时
    puma['worker_timeout'] = 60                                                                                                                  
    #设置最小进程 
    puma['worker_processes'] = 2  
    #设置最小线程                                                                                           
    puma['min_threads'] = 4 
    #设置最大线程
    puma['max_threads'] = 4
    #设置最大内存使用量
    puma['per_worker_max_memory_mb'] = 1024
    #设置最大并发数
    sidekiq['max_concurrency'] = 5
    #设置缓存大小
    postgresql['shared_buffers'] = "256MB"
    *****************************************************************
    # gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
    external_url 'http://127.0.0.1'
    # ssh主机ip
    gitlab_rails['gitlab_ssh_host'] = '127.0.0.1'
    # ssh连接端口
    gitlab_rails['gitlab_shell_ssh_port'] = 2222

    # 4.3 让配置生效
    gitlab-ctl reconfigure

    #4.4 修改http和ssh配置
    vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

      gitlab:
        host: 127.0.0.1
        port: 1111 # 这里改为1111
        https: false

    # 4.5 重启
    gitlab-ctl restart
    # 4.6 退出容器
    exit

     

  5. 设置初始密码
    # 5.1 入容器内部
    sudo docker exec -it gitlab /bin/bash
    # 5.2 进入控制台 gitlab
    -rails console -e production
    # 5.3 查询id为1的用户,id为1的用户是超级管理员 user
    = User.where(id:1).first
    # 5.4 修改密码为:abcd!@#456 user.password
    ='abcd!@#456' # 5.5保存 user.save! # 退出 exit

     

  6. 浏览器登陆
    127.0.0.1:9080/admin
    user:root
    password:abcd!@#45

     

posted @ 2023-01-02 22:18  Axuduo  阅读(295)  评论(1编辑  收藏  举报