首页 > 系统相关 >Ubuntu 系统下基于Docker 运行GitLab

Ubuntu 系统下基于Docker 运行GitLab

时间:2023-01-02 22:22:52浏览次数:29  
标签:容器 GitLab sudo axuduo etc gitlab Ubuntu Docker docker

  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

     

标签:容器,GitLab,sudo,axuduo,etc,gitlab,Ubuntu,Docker,docker
From: https://www.cnblogs.com/axuduo/p/17020565.html

相关文章

  • 容器化开发_01_Docker镜像到哪里去下载?Docker镜像下载不下来四种原因?Docker镜像占满磁
    文章目录​​问题:Docker镜像到哪里去下载?​​​​问题:Docker镜像下载不下来四种原因?​​​​问题:Docker镜像占满磁盘了?​​问题:Docker镜像到哪里去下载?问题:Docker镜像到哪里......
  • Docker配置redis相关
    三主三从配置---首先要保证dockerqidongsystemctlstartdocker---拉取redis镜像dockerpullredis:6.0.8---运行redis实例dockerrun-d--nameredis-node-1--nethost-......
  • Dockerfile
    是什么Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。官网--https://docs.docker.com/engine/reference/builder/构建三步......
  • Docker
    mongodbdockerrun-d\--namemongodb\--restartalways\-eMONGO_INITDB_ROOT_USERNAME=mongoadmin\-eMONGO_INITDB_ROOT_PASSWORD=123456\......
  • centos9安装docker-compose2.14.2
    Linux上我们可以从Github上下载它的二进制包来使用,最新发行的版本地址:​​https://github.com/docker/compose/releases​​sudocurl-L"https://github.com/docker/co......
  • Ubuntu 常用命令
    Usingubuntuwhichrails\\查找路径;pwd\\当前目录;sudosu\\切换到管理员;sudomount-tvboxsfsarah/mnt/s......
  • Ubuntu实现SSH外网连接内网(反向隧道)
    应用场景:如果你有Linux云主机(腾讯、华为等),且公司有一台只有内网IP(或动态IP)的Linux工作机;你计划在家里工作时,通过家里的电脑连接公司的工作机(且不想使用类似Teamvi......
  • docker清理Overlay2占用磁盘空间
    目录docker清理Overlay2占用磁盘空间原文链接docker清理Overlay2占用磁盘空间容器的磁盘占用每次创建一个容器时,都会有一些文件和目录被创建,例如:/var/lib/docker/conta......
  • docker复杂安装
    安装mysql主从复制1、新建主服务器容器实例3307dockerrun-d-p3307:3306--namemysql-master<br/>-v/mydata/mysql-master/log:/var/log/mysql<br/>-v/mydata/my......
  • docker安装软件
    1、先在hub.docker.com上搜索是否有容器2、复制拉取代码3、tomcat1、dockerpulltomcat2、dockerrun-d-p8080:8080--namet1tomcat3、dockerexec-it【tomcat的容......