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

在CentOS上安装Docker需要注意的事项

文章目录

  • 前言
  • Docker Engine
  • 如何设置仓库
  • 设置镜像加速器
    • 获取镜像加速器地址

 写在前面:大家好!我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油,冲鸭!
用知识改变命运,用知识成就未来!加油 (ง •̀o•́)ง (ง •̀o•́)ง

前言

 今天在 CentOS 7.9 上安装 Docker 时遇到网络连接超时问题,一个是未设置仓库导致从仓库中下载Docker引擎的时候网络连接超时;另一个是因为没有配置镜像加速器导致镜像拉取失败。以下是相关问题的解决方案:

Docker Engine

 官网对于容器的解释原文是:

Docker Engine is an open source containerization technology for building and containerizing your applications. Docker Engine acts as a client-server application with:

  • A server with a long-running daemon process dockerd.
  • APIs which specify interfaces that programs can use to talk to and instruct the Docker daemon.
  • A command line interface (CLI) client docker.

Docker Engine 是一种开源容器化技术,用于构建和容器化应用程序。使用 Docker 我们可以将软件打包成标准化单元,以用于开发、交付和部署。
docker

如何设置仓库

 Before you install Docker Engine for the first time on a new host machine, you need to set up the Docker repository. Afterward, you can install and update Docker from the repository.
Set up the repository

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

 在安装Docker时有一个步骤是设置Docker存储库,这里需要注意最好不要用官方提供的 Docker CE 仓库地址(https://download.docker.com/linux/centos/docker-ce.repo),而是使用国内的仓库地址(例如阿里云的仓库地址)。

yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 执行完以上命令之后即可快速的通过阿里云仓库下载Docker了。官网给出的命令用的是 dnfdnfyum 的改进版,从 CentOS 8 开始成为默认包管理工具。但在旧系统(如 CentOS 7)中仍需使用 yum 作为包管理工具。我用的CentOS 版本是 7.9 所以仍使用 yum,使用 yum install -y yum-utils 命令安装辅助工具,帮助管理软件包和仓库(yum-config-manager用于管理仓库)。

设置镜像加速器

 在下载安装完Docker CE并启动(具体操作查看Docker官网 https://docs.docker.com/engine/install/centos/)之后就可以通过运行hello-world镜像来测试是否安装成功,但是我在测试的时候出现了拉取镜像超时的问题。具体报错信息如下:

[root@qingkong ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.

Docker 无法从 Docker Hub 拉取 hello-world 镜像,原因是因为网络连接超时了。由于 Docker Hub 在国内访问可能较慢或不稳定,可以通过配置镜像加速器访问国内的镜像仓库来解决。

获取镜像加速器地址

 我们可以登录 阿里云容器镜像服务控制台 获取专属镜像加速器地址(例如 https://xxx.mirror.aliyuncs.com)。
获取加速地址
获取到加速器地址之后按照提示进行配置即可。

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

 设置并重启Docker之后重新执行docker run hello-world成功拉取了hello-world镜像并运行
成功示例

相关文章:

  • 基于Arduino的ESP8266连接OneNET云平台(MQTT协议 物模型)(一)ESP8266固件烧录
  • Solidity基础入门—web3
  • GitHub 趋势日报 (2025年04月06日)
  • MATLAB中movmin函数用法
  • Python爬虫第5节-urllib的异常处理、链接解析及 Robots 协议分析
  • 深度探索:策略学习与神经网络在强化学习中的应用
  • WHAT - JavaScript 中 Object.defineProperty() 和 Proxy 对比
  • 使用LangChain Agents构建Gradio及Gradio Tools(4)——Gradio Tools:gradio_tools库
  • 小刚说C语言刷题——第17讲 循环之for语句
  • ARM处理器内核全解析:从Cortex到Neoverse的架构与区别
  • 优选算法第七讲:分治
  • 关于如何在 Ansible 中安全使用 `rm -rf` 或类似操作的完整指南
  • C++第14届蓝桥杯b组学习笔记
  • go原子操作和锁的区别是什么?
  • rtthread 软件SPI驱动, 支持mode0~3,MSB,LSB
  • 【C语言】编译和链接
  • 企业级 ClickHouse Docker 离线部署实践指南20250407
  • 使用JDBC/MyBatis流式查询,解决大数据量查询程序OOM问题
  • Java 中使用 File 类创建文件
  • C++笔记-string(下)
  • .net给网站做短信验证/seo优化的作用
  • 网站建设费 无形资产/软文推广页面
  • 网页设计与制作教程电/什么叫seo
  • wordpress居中/开鲁网站seo转接
  • 网络营销网站建设流程/重庆seo网站推广费用
  • 网站管理系统/seo系统是什么