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

CentOS 7 安装指定版本 Docker 及镜像加速/配置优化攻略

在这里插入图片描述

摘要
本文详述 CentOS 7 系统下安装指定版本 Docker ,涵盖镜像加速配置(实测最快)、存储位置优化、日志轮转等核心配置。



一、安装指定版本Docker

1.1 卸载旧版本(如有)

sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

1.2 安装依赖包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

1.3 添加Docker仓库(推荐阿里云镜像源)

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

1.4 查看可用版本

yum list docker-ce --showduplicates | sort -r

输出示例

docker-ce.x86_64  3:20.10.21-3.el7                    docker-ce-stable
docker-ce.x86_64  3:20.10.20-3.el7                    docker-ce-stable

1.5 安装指定版本

示例:安装20.10.20版本

sudo yum install -y docker-ce-20.10.20 docker-ce-cli-20.10.20 containerd.io

二、镜像加速配置

2.1 镜像加速及配置优化

优化说明

  • 配置镜像加速地址,经实测速度很快,一个足够
  • 修改日志格式,并限制单个日志大小为20m,最多3个
  • 修改默认存储位置,避免占用根目录空间
  • 根据实际情况调整配置
sudo mkdir -p /etc/docker/
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.m.daocloud.io"],"log-driver": "json-file","log-opts": {"max-size": "20m","max-file": "3"},"data-root": "/data/docker"
}
EOF

2.2 启动

systemctl daemon-reload && systemctl restart docker && systemctl status docker

2.3 验证版本

docker --version

预期输出

Docker version 20.10.20, build 99e3ed8919

2.4 验证镜像加速

docker info | grep "Registry Mirrors"

预期输出

Registry Mirrors:

三、配置优化建议

3.1 存储驱动优化

# 确认当前存储驱动(默认应为overlay2)
docker info | grep "Storage Driver"# 如需强制指定(通常无需手动配置)
sudo tee /etc/docker/daemon.json <<-'EOF'
{"storage-driver": "overlay2"
}
EOF
sudo systemctl restart docker

3.2 资源限制配置

3.2.1 容器级资源限制
docker run -d \--name my_container \--cpus="1.5" \--memory="512m" \--memory-swap="1g" \nginx:latest
3.2.2 全局默认限制(daemon.json)
sudo tee /etc/docker/daemon.json <<-'EOF'
{"default-ulimits": {"nofile": {"Name": "nofile","Hard": 65535,"Soft": 65535}}
}
EOF
sudo systemctl restart docker

3.3 网络性能优化

# 修改sysctl参数(需root权限)
sudo tee /etc/sysctl.d/docker.conf <<-'EOF'
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.ip_local_port_range = 1024 65535
EOF
sudo sysctl -p /etc/sysctl.d/docker.conf

四、维护建议

4.1 定期清理

# 清理无用资源
docker system prune -a --volumes# 手动清理特定镜像
docker rmi $(docker images --filter "dangling=true" -q)

4.2 升级策略

# 查看可升级版本
yum list docker-ce --showduplicates | grep 20.10# 升级操作
sudo yum update docker-ce docker-ce-cli containerd.io

五、常见问题

Q1:安装旧版本时提示依赖缺失
A:需先安装对应版本的依赖包,例如:

# 示例:安装17.03.3版本所需依赖
sudo yum install -y https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.3.ce-1.el7.noarch.rpm

Q2:镜像加速未生效
A:检查步骤:

  1. 确认daemon.json语法正确
  2. 执行systemctl restart docker后等待1-2分钟
  3. 使用docker info验证配置
  4. 测试拉取镜像速度:time docker pull ubuntu:latest
  5. 终结方案,删除原有数据/data/docker/,重启启动新的docker

Q3:容器启动报"No space left on device"
A:执行以下清理操作:

# 清理graphdriver残留
docker system prune -a --volumes# 清理overlay2存储(谨慎操作)
rm -rf /data/docker/overlay2/*
systemctl restart docker

六、结语

通过以上配置,你可以在CentOS 7系统上获得一个高效稳定的Docker运行环境。建议根据实际业务需求调整参数,并定期关注Docker官方安全更新。
在这里插入图片描述
如果你觉得这篇文章对你有帮助,不妨点个赞👍,或者分享给你的朋友们吧!你的支持是我持续创作的最大动力!

相关文章:

  • 计算机视觉与深度学习 | 基于数字图像处理的裂缝检测与识别系统(matlab代码)
  • SiC 材料及器件在高频大功率领域的应用现状
  • MCP服务发展现状的有趣发现
  • 【每天一个知识点】使用 apriori() 函数获取频繁项集
  • 论广告系统对存算分离架构的应用
  • 代码随想录算法训练营第60期第二十八天打卡
  • 1ms城市算网稳步启航,引领数字领域的“1小时经济圈”效应
  • C++复习
  • 老牌即时通讯应用Skype被关闭,卒年22岁!
  • 2024 ICPC武汉邀请赛暨湖北省赛 题解
  • [特殊字符]【深度解析】Transformer革命:《Attention Is All You Need》完全解读
  • 数据初步了解
  • Excel Vlookup
  • Flutter 布局
  • Java 内存区域与内存溢出异常
  • 数据结构 --- 栈
  • AI 数字短视频数字人源码开发实用技巧分享​
  • 19.第二阶段x64游戏实战-vector容器
  • Navicat Premium 17 备份,还原数据库(PostGreSql)
  • 第四节:进程控制
  • 中国证监会印发《推动公募基金高质量发展行动方案》
  • 江西省文化和旅游厅厅长梅亦已任省委宣传部副部长
  • 科技赋能文化体验,“五一”假期“海昏侯”人气创新高
  • “五一”假期预计全社会跨区域人员流动累计14.67亿人次
  • A股2024年年报披露收官,四分之三公司盈利
  • 阿根廷发生5.8级地震