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

CentOS安装Docker

CentOS安装Docker

Docker 支持 CentOS 7、CentOS 8(stream)和CentOS 9(stream),三个版本,实践中绝大部分的系统会使用 CentOS 7。

先检查系统的版本和架构:

cat /etc/*release*
uname -a

卸载旧版本(如果有):

#卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

卸载历史版本(如果有):

#卸载历史版本
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

#根据实际存储位置删除这两个文件
sudo rm -rf /data/var/lib/docker
sudo rm -rf /etc/docker/daemon.json

1. 配置仓库

系统默认的 yum 源本身没有 docker 的资源,需要手动配置:

sudo yum install -y yum-utils

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

这里添加的是镜像服务器的网址,未来有可能失效。

查看该目录下是否多了一个 docker-ce.repo

ll /etc/yum.repos.d/

安装最新版本:

sudo yum install -y docker-ce

安装完成后查看 docker 的状态:

sudo systemctl status docker

如果没有激活(inactive),就先启动 docker:

sudo systemctl start docker

2. 配置docker

2.1 修改docker镜像源

由于 docker 的官方服务器在海外,在进行网络通信时时常不太稳定,所以我们要把 docker 的源镜像改为国内的服务器。

第一步,在指定目录下创建一个文件夹:

#一般这个文件夹就是已经存在的
mkdir /etc/docker

在该目录下创建一个 daemon.json 文件:

#记得先进入到目录里
vi daemon.json

在该文件中,加入镜像源:

{
    "registry-mirrors": [
    	"https://docker.m.daocloud.io",
    	"https://docker.imgdb.de",
    	"https://docker-0.unsee.tech",
    	"https://docker.hlmirror.com",
    	"https://cjie.eu.org"
    ]
}

镜像源的网址有一个以上就可以,且镜像源的有效性随时会变,添加时最好查询最新有效的镜像源加入。

然后加载配置并重启 docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

2.2 docker根目录修改

docker 的默认安装目录为 /var/lib/docker 里面会存放很多很多的镜像,为了避免空间不足,我们需要把 docker 的根目录修改到足够大的磁盘空间下。

#假设磁盘大的目录为 /data
mkdir -p /data/var/lib/docker

daemon.json 里添加这一句:

{
"data-root":"/data/var/lib/docker"
}

注意 json 文件的书写格式,是只有一个大括号,键值对之间用 , 间隔,格式错误将在重启 docker 时失败。

然后加载配置并重启 docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

使用命令查看修改后的信息:

docker info

3. 其他命令

#配置加载
sudo systemctl daemon-reload
#启动服务
sudo systemctl start docker
#开启启动
sudo systemctl enable docker
#查看服务状态
sudo systemctl status docker

相关文章:

  • 005 vue项目结构 vue请求页面执行流程(vue2)
  • Spring IoCDI
  • tomcat的负载均衡和会话保持
  • 微信小程序生成某个具体页面的二维码
  • JVM基础架构:内存模型×Class文件结构×核心原理剖析
  • 算法刷题记录——LeetCode篇(2.6) [第151~160题](持续更新)
  • 使用ExcelJS实现专业级医疗数据导出功能:从数据到Excel报表的完整指南
  • vscode调试vite项目断点(debugger)
  • 基于HAI应用,从零开始的NLP处理实践指南
  • 【区块链安全 | 第三十一篇】合约(五)
  • CVAT及其半自动标注安装(Windows)
  • SYN Flooding攻击原理
  • OpenCV--图像形态学
  • 第二章日志分析-mysql应急响应笔记
  • 【Linux网络】网络套接字socket
  • DeepSeek在互联网技术中的革命性应用:从算法优化到系统架构
  • Proteus vs Multisim:电路设计与仿真软件对比
  • 计算机专业English交流
  • 我用Cursor + DeepSeek + Claude-3.7-Sonnet + DevBox,10分钟开发了一个系统
  • ChatGPT之智能驾驶问题讨论
  • 上海小学生暑(寒)托班会增设开办期数、延长办班时间吗?团市委回应
  • 博物馆书单|走进博物馆,去体验一场与文明的对话
  • 专利申请全球领先!去年我国卫星导航与位置服务产值超5700亿元
  • 上海这个咖啡文化节首次“走出去”,率本土品牌亮相英国伦敦
  • 解锁儿时愿望!潘展乐战胜孙杨,全国冠军赛男子400自夺冠
  • 原核试验基地司令员范如玉逝世,从事核试验研究超40年