docker安装gitlab

503 阅读2分钟

docker安装gitlab

  1. 下载gitlab镜像

    # 搜索镜像
    docker search gitlab
    
    # 下载镜像
    docker pull gitlab/gitlab-ce
    
    # 下载完成之后 docker iamges  命令可以查看
    [root@liwei-centos ~]#  docker images
    
  2. 启动镜像

    docker run \
     -itd  \
     --publish 6443:443 --publish 6080:80 --publish 22:22 \
     -v /usr/local/gitlab/etc:/etc/gitlab  \
     -v /usr/local/gitlab/log:/var/log/gitlab \
     -v /usr/local/gitlab/opt:/var/opt/gitlab \
     --restart always \
     --privileged=true \
     --name gitlab \
     gitlab/gitlab-ce
    

    上面命令解释

    -itd

    -i:以交互模式运行容器,通常与-t同时使用

    -d:后台运行容器,并返回容器ID,也即启动守护式容器

    -t:为容器重新分配一个伪输入终端,通常与-i同时使用

    写在一起就是组合命令,-id -it -itd

    将主机6443,6080,22映射到容器443,80,22端口

    --restart always 跟随容器自动启动

    --privileged=true 在容器内以root权限运行

  3. 配置

    • 启动登录:浏览器输入 http://IP:6080 即可访问容器gitlab,默认管理员账号 root 密码命令获取
    sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password  # 可以拿到gitlab root账号的初始密码登录
    
    • gitlab配置文件修改

      # 进入容器
      docker exec -it gitlab  /bin/bash
      
      # 修改配置
      vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
      
      # 找到下面这里,修改host与port(这里控制克隆时链接,我这里是6080:80)
      production: &base                                                                                                     
        #                                                                                                                   
        # 1. GitLab app settings                                                                                            
        # ==========================                                                                                        
                                                                                                                            
        ## GitLab settings                                                                                                  
        gitlab:                                                                                                             
          ## Web server settings (note: host is the FQDN, do not include http://)                                           
          host: gitlab.conghui.cc  # 改为主机IP或者域名                                                                                         
          port: 6080   # 改为主机端口                                                                                                     
          https: false 
          
          
       # 如果ssh使用的端口是非22,需要在gitlab_shell:处配置ssh_port
       
       # 修改完成后
      

      image-20220616170602342

image-20220616171011126

  1. 重启容器

    在gitlab容器中运行

    gitlab-ctl restart 
    
  2. 其他

    • 重新修改端口映射

      # 找到需要修改的容器ID
      docker ps
      # 停止docker
      systemctl stop docker
      # 修改这个容器的hostconfig.json的端口
      cd /var/lib/docker/containers # 切换到容器目录
      ls # 查看所有容器文件下,找到需要修改的那个
      cd CONTAINER_ID # 进入容器文件夹
      vim hostconfig.json # 找到 "PortBindings" 字段,对应修改相应字段,保存退出
      vim config.v2.json # 找到 "PortBindings" 字段,同样对应修改相应字段,保存退出
      # 启动docker
      systemctl start docker
      

      修改后启动完成但是页面无法访问,报无法访问此网站,拒绝连接请求

      需要对应gitlab的外放端口

      vim /usr/local/gitlab/etc/gitlab.rb # 在gitlab.rb文件中修改external_url字段,我这里是这个路径,具体根据自己的安装映射文件夹

image-20220629133100761

image-20220629132107533

image-20220629132623176

image-20220629133545510