美文网首页
Docker搭建私有gitlab仓库

Docker搭建私有gitlab仓库

作者: yunqing_71 | 来源:发表于2020-01-01 17:57 被阅读0次

    docker在centos安装教程:

    官方教程:https://docs.docker.com/install/linux/docker-ce/centos/
    1.查询是否安装过

    yum list installed | grep docker
    

    2.卸载旧版本

    sudo yum -y remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
    

    3.安装所需软件包

    sudo yum -y install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
    

    4.设置稳定的存储库

    sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    

    5.安装最新版本的Docker Engine-Community和containerd

    sudo yum -y install docker-ce docker-ce-cli containerd.io
    

    6.启动docker

    sudo systemctl start docker
    

    7.通过运行hello-world 映像来验证是否正确安装了Docker

    sudo docker run hello-world
    
    • 此命令下载测试图像并在容器中运行。容器运行时,它会打印参考消息并退出


      image.png

    下面就开始搭建gitlab仓库

    1.拉取gitlab镜像

    docker pull gitlab/gitlab-ce
    

    2.下载速度太慢,设置国内的阿里镜像加速
    docker阿里镜像地址,具体使用参考下面链接

    参考地址 https://blog.csdn.net/Funny_Ma/article/details/96478395

    3.启动gitlab

    sudo docker run --detach \
      --hostname gitlab.example.com \
      --publish 10443:443 --publish 1080:80 --publish 1022:22 \
      --name gitlab \
      --restart always \
      --volume /usr/local/docker/gitlab/config:/etc/gitlab \
      --volume /usr/local/docker/gitlab/logs:/var/log/gitlab \
      --volume /usr/local/docker/gitlab/data:/var/opt/gitlab \
      gitlab/gitlab-ce:latest
    
    • 解释一下上面的一条长命令

    --hostname gitlab.example.com \ # 设置主机名或域名
    --publish 10443:443 --publish 1080:80 --publish 1022:22 \ #本地端口的映射
    --name gitlab \ # gitlab-ce 的镜像运行成功的容器命名为gitlab
    --restart always \ # 设置重启方式,always 代表一直开启,即开机自启
    --volume 分别将 gitlab 的配置文件、日志文件、数据文件目录映射到 /usr/local/docker/gitlab的相应目录中

    4.通过命令查看所有容器

    docker ps -a
    
    image.png

    5.因为我们把gitlab映射到1080端口,所以防火墙开启1080端口

    # 开启1080端口
    firewall-cmd --zone=public --add-port=1080/tcp --permanent 
    # 重启防火墙才能生效
    systemctl restart firewalld
    # 查看已经开放的端口
    firewall-cmd --list-ports
    

    5.访问http://192.168.8.128:1080

    • 注意改成你服务器的ip
    • 第一次访问让你设置密码,默认账户是root
    image.png
    • 设置好密码,root账户名登录即可


      image.png
    image.png
    • 接下来怎么使用,就不是本文要讲的范围了哦
    1. 新建一个项目,clone的时候发现地址http://gitlab.example.com/root/test.git
      image.png

    上面设置的时候设置主机名或者域名的时候设置了gitlab.example.com,这时候怎么解决?

    • 去上面那条长命令找到配置文件地址,我的是这个
    cd /usr/local/docker/gitlab/config
    
    
    • vim打开进入这个文件


      image.png
    • 搜索这行# external_url 'GENERATED_EXTERNAL_URL'

    • 去掉注释并改成你的ip或域名,保存退出。


      image.png
    • 使配置生效

    docker exec gitlab gitlab-ctl reconfigure
    
    • 重启gitlab
    docker restart gitlab
    
    image.png
    • 启动gitlab较慢,遇到502多等一会。
    • 启动成功,看到clone的url已经修改成了ip


      image.png

    windows上用docker搭建gitlab私库

    • 注意更改gitlab的config/logs/data的目录到windows的指定目录
    docker run -d --hostname localhost -p 10080:80 -p 10443:443 --name gitlab --restart always -v D:\java\docker\gitlab\config:/etc/gitlab -v D:\java\docker\gitlab\logs:/var/log/gitlab -v D:\java\docker\gitlab\data:/var/data/gitlab gitlab/gitlab-ce:latest
    
    • 上面的命令执行完后可执行下面命令查看gitlab容器的状态
    docker ps -a
    
    • 如果状态一直是health: starting 而不变成healthy,则打开配置文件夹,如上面长命令中设置的配置文件夹为D:\java\docker\gitlab\config,则打开这个文件夹下的gitlab.rb文件。修改其中配置
    external_url 'http://你的ipv4地址'
    gitlab_rails['gitlab_shell_ssh_port'] = 10022
    
    • 再次执行docker ps -a发现状态变成healthy就可以访问了,没变可以重启gitlab容器
    docker restart gitlab
    
    • 成功启动后访问localhost:10080就可以设置密码了。默认账户名root

    相关文章

      网友评论

          本文标题:Docker搭建私有gitlab仓库

          本文链接:https://www.haomeiwen.com/subject/pwzwoctx.html