当前位置: 首页 > ai >正文

无法访问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 拉取镜像运行呢?-- 请关注后续文章为您提供最佳实践的方式,特别说明不是通过配置镜像代理的不合规方式哦!!!

软件源链接

  • 清华大学:https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/
  • 华中科技大学:https://mirrors.hust.edu.cn/docs/docker-ce
  • 阿里云:https://developer.aliyun.com/mirror/docker-ce
  • 华为云:https://mirrors.huaweicloud.com/mirrorDetail/5ea14d84b58d16ef329c5c13?mirrorName=docker-ce&catalog=docker

我的原文在自己的博客中,可以在这里查看原文

http://www.xdnf.cn/news/8993.html

相关文章:

  • Python pytest的应用
  • IAM角色访问AWS RDS For MySQL
  • 本地依赖库的版本和库依赖的版本不一致如何解决?
  • Python 的开发效率真的比 Java 高吗
  • Qt 改变窗口显示透明度 + 光标显示形状的属性(4)
  • 52、C# 泛型 (Generics)
  • python33天打卡
  • 电路图识图基础知识-绘制的规则(五)
  • js-day2
  • Pow(x,n) 快速幂
  • 软件测试过程中如何定位BUG
  • JESD204B 协议介绍
  • 当前上下文中不存在名称“X509CertificateLoader”,编译.NET 9依赖
  • Django orm详解--工作流程
  • ACM Latex模板:合并添加作者和单位
  • 李沐动手深度学习(pycharm中运行笔记)——10.多层感知机+从零实现+简介实现
  • 鸿蒙OSUniApp 实现动态的 tab 切换效果#三方框架 #Uniapp
  • 《软件工程》第 4 章 - 需求获取
  • XBench:重塑AI能力评估范式,红杉中国如何定义下一代智能体度量标准?
  • RAGFlow源码安装操作过程
  • Android studio进阶开发(六)--如何用真机通过okhttp连接服务器
  • idea中使用Maven创建项目
  • 深入研究Azure 容器网络接口 (CNI) overlay
  • 十四、【鸿蒙 NEXT】如何更改har包的版本号
  • 【React-rnd深度解析】- 01 看看核心逻辑
  • 汽车零部件行业PLM案例:得瑞客汽车(Dereik) 部署国产PLM
  • OpenHarmony平台驱动使用(三),DAC
  • pyqt中添加资源文件
  • STM32 RTC实时时钟\BKP备份寄存器\时间戳
  • 2025 年开源 LLM 发展趋势细致解读