1、安装docker

# 1、卸载旧版本的Docker
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
# 2、 安装utils安装包
yum install -y yum-utils
# 3、 设置镜像的仓库
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo # 国外仓库地址
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 阿里云镜像加速包 【推荐】
#  更新yum缓存索引
yum makecache fast
# 4、安装docker引擎
yum install docker-ce docker-ce-cli containerd.io
# 5、启动docker
systemctl restart docker
# 6、查看docker版本
dokcer version

2、 创建桥接网络

 docker network create --driver bridge --subnet 172.0.0.0/16 my_network

3、创建挂载目录

 mkdir -p /home/docker/gitlab/etc  
 mkdir -p /home/docker/gitlab/log 
 mkdir -p /home/docker/gitlab/data  

4、安装 gitlab 并挂载运行

docker run -d -p 9443:443 -p 9000:80 -p 222:22 --name gitlab --network my_network \
--ip 172.0.0.16 --restart always \
-v /home/docker/gitlab/etc:/etc/gitlab \
-v /home/docker/gitlab/log:/var/log/gitlab \
-v /home/docker/gitlab/data:/var/opt/gitlab 
gitlab/gitlab-ce

# 参数说明 
-p 端口映射 外网端口:容器端口
--name 别名
--ip 执行桥接ip区间段 172.0.0.1 ~172.255.255.255 
--restart always 启动docker,自动启动相关容器
-v 将gitlab配置及数据映射至linux主机中,方便修改

访问gitlab地址 http://ip:9000

首次/重新启动时,速度较慢

在这里插入图片描述

5、修改配置文件

vim /home/docker/gitlab/etc/gitlab.rb

# 新增/修改以下三行即可:[]
# 配置http协议所使用的访问地址
#external_url 'GENERATED_EXTERNAL_URL'
external_url 'http://外网地址'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '外网地址'
gitlab_rails['gitlab_shell_ssh_port'] = 222

保存退出重启gitlab docker restart gitlab

6、新建项目 获取仓库地址

  • ssh端口生效,该仓库地址可拉取
  • http 方式拉取时需要变更为 ip:9000/root/test.git才有能拉取 【此问题未解决,配置修改未生效
  • 修改/home/docker/gitlab/data/gitlab-rails/etc/gitlab.yml
  • GitLab settings 下的 port: 9000 重启后会失效变回80 【无效】
# 1 ssh 方式能获取正常拉取代码
git clone ssh://git@ip:222/root/test.git
Cloning into 'test'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
# 2 http 方式不加端口获取不到代码
git clone http://ip/root/test.git test1
Cloning into 'test1'...
fatal: unable to access 'http://ip/root/test.git/': Failed to connect to ip port 80: Connection refused
# 3 http + 映射端口可以获取代码
git clone http://ip:9000/root/test.git test1
Cloning into 'test1'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐