• Docker安装Gitlab


    # 拉取镜像
    docker pull gitlab/gitlab-ce
    # 创建挂载目录
    mkdir -p /opt/gitlab/{data,etc,log}
    # 启动容器
    docker run -d -p 8090:80 -p 8443:443 -p 8222:22 --name gitlab --restart always --privileged=true -v /opt/gitlab/etc:/etc/gitlab -v /opt/gitlab/log:/var/log/gitlab -v /opt/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest
    
    # docker ps                                                                                                             
    CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS                    PORTS                                                               NAMES
    df12108bb81d        gitlab/gitlab-ce:latest   "/assets/wrapper"   23 minutes ago      Up 10 minutes (healthy)   0.0.0.0:8222->22/tcp, 0.0.0.0:8090->80/tcp, 0.0.0.0:8443->443/tcp   gitlab
    
    # 端口说明
    # 80和443端口是gitlab中nginx使用的,22端口是gitlab中ssh使用的,均是默认端口
    

    在浏览器中输入如下地址:http://宿主机ip:8090

    先设置root用户密码(至少8位)
    root/12345678

    登录后设置界面为中文

    创建项目后显示的项目git地址,使用的是容器id的信息,而不是宿主机的信息

    解决办法:

    修改配置文件中使用的地址或端口(若启动容器时均使用的容器默认端口,则只修改地址,不修改端口)

    # 直接修改宿主机上的配置文件,启动容器时挂载了容器数据卷到宿主机上
    
    # vim /opt/gitlab/etc/gitlab.rb
    # external_url 'http://192.168.0.253' # 若启动容器时映射的没有使用默认80端口,则地址后面还需要加上端口,这个是通过web页面访问gitlab的地址,暂不修改这个
    
    # 使用ssh的方式clone项目,默认使用的是22端口,因为是通过宿主机访问的,使用的端口是8222,所以需要修改这个,详看下面的图片,使用SSH克隆,地址中需要加上这个端口
    gitlab_rails["gitlab_shell_ssh_port"] = 8222
    
    # vim /opt/gitlab/data/gitlab-rails/etc/gitlab.yml # 通过HTTP方式clone项目,默认使用的是80端口,因为是通过宿主机访问的,使用的端口是8090,所以需要修改这个,详看下面的图片,使用HTTP克隆,地址中需要加上这个端口
      gitlab:
        ## Web server settings (note: host is the FQDN, do not include http://)
        host: 192.168.0.253 # 默认的是容器id,这里修改成宿主机IP
        port: 8090  # 需要修改成通过宿主机访问的那个端口
        https: false
    
    # 登录进容器中,重新启动服务,而不是重新启动容器
    ~ # docker exec -it gitlab gitlab-ctl restart
    
    # 分开操作
    ~ # docker exec -it gitlab /bin/bash     
    root@79c266fad617:/# gitlab-ctl restart
    
    

  • 相关阅读:
    纸牌博弈问题
    Eureka Server 实现在线扩容
    设计模式学习(二):单例模式
    最大的观影时间问题
    拼凑硬币问题
    泡咖啡问题
    设计模式学习(五):原型模式
    最长公共子序列问题
    设计模式学习(六):代理模式
    经典背包系列问题
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/13814730.html
Copyright © 2020-2023  润新知