docker安装gitlab(离线)

总体思路:找一台可以联网的linux,下载docker的RPM依赖包而不进行安装(yum localinstall),将所有依赖的rpm环境打包好,再在无网环境中解压逐一安装(rpm: --force --nodeps)。

同理,docker镜像也通过联网下载,docker save导出tar包,然后离线机器docker load导入镜像

系统版本:

准备两台Linux系统,一台是可以联网的另外一台就是你的内网服务器

先在可以联网的linux上,进行docker的下载和安装,因为后面内网端可能docker的各种镜像,所以在联网的这台也进行docker的安装

docker安装(yum install)

如果之前安装过旧版本的Docker,可以使用下面命令卸载:

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

首先需要大家虚拟机联网,安装yum工具

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

然后更新本地镜像源:

# 设置docker镜像源,逐条执行
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

 然后输入命令:

yum install -y docker-ce

docker-ce为社区免费版本。稍等片刻,docker即可安装成功。

 docker离线安装

在可以联网的这台linux,下载所有依赖到指定目录:

mkdir -p  /home/dockerrpm/

yum intsall docker-ce --downloadonly --downloaddir=/home/dockerrpm/

 解释:标准的yum命令提供了 --downloadonly(只下载,不安装) 的选项来达到这个目的。

 将所有依赖的rpm环境打包:

tar zcvf docker-ce-20.tar.gz ./dockerrpm/*

 将压缩包传到内网端  比如也是 /home/dockerrpm,解压压缩

tar zxvf docker-ce-20.tar.gz

在dockerrpm目录下,执行命令安装依赖

rpm -ivh *.rpm --force --nodeps

参数解释:

rpm -ivh *.rpm --force --nodeps 

1.--nodeps 就是安装时不检查依赖关系,比如你这个rpm需要A,但是你没装A,这样你的包就装不上,用了--nodeps你就能装上了。

2.--force 就是强制安装,比如你装过这个rpm的版本1,如果你想装这个rpm的版本2,就需要用--force强制安装。

到这里docker算是安装完成了,接下来启动docker

Docker应用需要用到各种端口,逐一去修改防火墙设置。我这里为了方便直接关掉防火墙了

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

通过命令启动docker:

systemctl start docker  # 启动docker服务

systemctl stop docker  # 停止docker服务

systemctl restart docker  # 重启docker服务

查看docker状态:

systemctl status docker # 查看docker启动状态

docker -v               # 查看docker版本

 ok,docker启动成功

docker安装gitlab

在可以联网的linux上下载gitlab镜像,

# gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本

docker pull gitlab/gitlab-ce

查看镜像,

docker images

保存镜像

docker save -o gitlab.tar gitlab/gitlab-ce

 执行完命令,你会在当前目录获得一个gitlab.tar包

把这个压缩包考到离线的linux机器上,比如放在  /home/dockerrpm/images

执行命令,导入镜像

docker load -i gitlab.tar

 查看镜像

docker images

 

导入成功

docker启动容器 

我这里是自定义了gitlab端口为30000,默认端口80,-p参数代表端口映射

docker run -d \
-p 30000:30000 -p 30001:443  -p 30002:22 \
--name gitlab \
--restart unless-stopped \
-v /home/gitlab/config:/etc/gitlab \
-v /home/gitlab/logs:/var/log/gitlab \
-v /home/gitlab/data:/var/opt/gitlab \
-v /etc/localtime:/etc/localtime \
gitlab/gitlab-ce

 启动之后,需要修改配置 

cd /home/gitlab/config

 修改gitlab.rb文件,就是里面全是注释的文件,这个文件在你挂载的config目录,我上面挂载的是/home/gitlab/config

vi /home/gitlab/config/gitlab.rb

 修改几个地方

# 以下修改的内容,该配置文件都有,可以ctrl+f搜搜

# 这里修改的是你gitlab的登录地址,因为我不想用默认的80端口,所以我就自定义了30000端口,只要不是被占用的端口都可

external_url 'http://192.168.247.130:30000'

# ssh主机端口

gitlab_rails['gitlab_ssh_host'] = 'http://192.168.247.130:30000'

gitlab_rails['gitlab_shell_ssh_port'] = 30002

# 注意,如果用的默认80端口,则不需要修改,我这里用了30000端口,所以监听端口需要修改

nginx['listen_port'] = 30000

 修改完后,重启gitlab

docker restart gitlab

 访问http://192.168.247.130:30000,这里启动Gitlab需要几分钟,耐心等待,我之前部署完一直是502,以为是有问题,其实是服务还没有完全起来。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值