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
- 至此安装完毕,有时候自己觉得困难,只是因为不熟悉,不能却步不前。要擅于使用搜索引擎,借鉴前人的智慧。
- 疑问,搜索,学习,总结,分享,形成一个开放的环