CentOS7离线安装docker ce和docker-compose

docker介绍

  • 简单来说,虚拟化、容器化,各个环境保持一致
  • 官方定义:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

应用场景

  • 我们的Spring Boot服务全部使用docker部署,我们使用的是eclipse-temurin:11-jre-focal打包java服务
  • 我们客户网络环境比较复杂,不允许连外网,一般centos7系统里是没有安装docker服务,或者版本非常低,他们自己网里面又没有可用的源去下载或更新
  • 我们需要在离线环境下,去安装docker服务和docker-compose
  • 之前尝试去下载docker-ce需要的几个rpm包安装,结果发现那四五个包是不够用的。它的一个rpm包关联另一个,关联的包可能又需要其他依赖包,感觉有点麻烦
  • 实际上解决后,发现解决方法意外的很简单

处理

  • 首先是docker ce,主要麻烦之处在于不知道需要多少依赖包,搜索之后发现,linux本身就提供了一些搜索依赖的方法
  • 我这里使用的是yumdownloader --resolve docker-ce,它会自动寻找相关依赖,并全部下载下来
  • 我找了centos7镜像包,用virtualBox新建系统导入,在这个比较原始干净的系统里,联网,执行此命令将依赖全部下载下来了
mkdir ~/docker
cd ~/docker
yumdownloader --resolve docker-ce
tar czf ~/docker.tar.gz *
  • docker.tar.gz依赖压缩包,拷贝到U盘,再到客户现场拷贝到某台机子上,使用winscp传输到服务器上,执行命令安装即可
cd ~
mkdir docker
tar xf docker.tar.gz -C ~/docker
cd docker
rpm -ivh --replacefiles --replacepkgs *.rpm
systemctl enable docker.service
systemctl start docker.service
docker -v
  • 可以看到我安装的docker版本Docker version 20.10.21, build baeda1f
  • docker-compose 使用的是提前下载好的
cd ~
mv docker-compose /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
  • 可以看到我的这个docker-compose 版本 docker-compose version 1.23.0, build c8524dc1
  • 至此安装完毕,有时候自己觉得困难,只是因为不熟悉,不能却步不前。要擅于使用搜索引擎,借鉴前人的智慧。
  • 疑问,搜索,学习,总结,分享,形成一个开放的环

你可能感兴趣的:(工具使用,Linux,docker,java,容器,yumdownloader,centos)