无法访问Docker官网,国内如何合规高效安装Docker软件¶
背景分析¶
容器镜像本质还是对文件的一种组织管理方式,而且 Docker Hub 是一个开放性的容器镜像托管平台,因此对于其分发的文件内容需要符合地方的法律法规,在没有完成合规的改造前应该无法直接面向国内提供服务。
虽然 Docker 无法直接面向国内提供服务,但是国内的企业和科研单位可以对部分内容进行审核后,以合规的方式进行服务提供。比如阿里云、腾讯云各大云厂商,以及清华大学、华中科技大学等科研组织提供的 docker-ce 软件源服务(文章末尾有链接)。
本文最佳实践的合规基础就是基于上述企业和科研组织的合规 docker-ce 软件源。
最佳安装方式¶
Docker的安装有很多种方式,比如基于源码安装、基于二进制文件安装、基于 get-docker.sh 安装、基于 YUM/DNF/APT 等软件包管理工具安装等等。
本最佳实践推荐以软件包管理工具的安装方式,其他安装方式各有特点,也都有其适合的应用场景,建议在入门后再进行深入探索。
示例通过 YUM 的方式使用阿里云的软件源进行安装配置。
如果你之前安装过 或者系统预置了docker,再次进行安装时会因为软件包存在冲突而无法安装,需要先进行卸载
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
可以通过执行 docker 命令来判断是否卸载完成。
对比了云厂商和大学的安装方式,阿里云通过安装自己的 repo 方式,清华和华科的是先安装 Docker 官方的 repo,然后通过 sed 进行地址替换。
本质上就是3步:获取软件源repo、安装软件,以及启动服务:
# 步骤1: 获取 docker-ce 软件源的 yum repo
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo > /etc/yum.repos.d/docker-ce.repo
# 步骤2:安装Docker
sudo yum install docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin
# 步骤3:启动 docker 并设置开机启动
sudo systemctl start docker
sudo systemctl enable docker
安装过程没有出现异常,可以正常执行 docker version 或 docker ps 命令即安装完成。
安装指定版本 Docker¶
默认安装最新版本的 Docker,如果想安装指定版本的 Docker 可以先查找当前软件源支持的软件版本列表,然后进行安装
# 第1步:查找可用的安装版本
yum list docker-ce.x86_64 --showduplicates
# 第2步:安装指定版本的 docker
yum install docker-ce-3:26.1.2-1.el8
查看支持的软件包列表
安装指定版本的 docker-ce
在进行安装包名称指定时需要注意:
- 软件包名称不需要添加 CPU 架构信息,如 docker-ce.x86_64 使用 docker-ce 部分即可。
- 软件包名称与版本号通过中横线链接。
到这里已经完成了 Docker 的安装,如果想在 MacOS 或 Windows 上安装,可以在参考链接中查找并下载对应的安装包即可。
下一步使用 Docker 时必然会遇到的一个问题是,无法访问 hub.docker.com 又该如何 docker pull 拉取镜像运行呢?-- 请关注后续文章为您提供最佳实践的方式,特别说明不是通过配置镜像代理的不合规方式哦!!!