Docker之安装Docker
核心概念
- Docker引擎:容器运行时的核心组件,管理容器生命周期
- 镜像仓库(Registry):存储Docker镜像的服务器(默认Docker Hub)
- 存储目录:存放容器和镜像数据的路径(默认/var/lib/docker)
两种安装方式:
- 二进制安装:手动下载部署,适合离线环境
- yum安装:官方推荐,自动管理依赖
我个人使用的docker 19.03版本二进制文件安装(不用迷信最新版,核心功能和基础功能基本不变)
通过网盘分享的文件:docker.tar.gz
链接: https://pan.baidu.com/s/1hSz53aPtSTqtK4ALPxIOLQ?pwd=whsb 提取码: whsb
安装流程
方式1:yum安装(推荐)
# 1. 卸载旧版本
sudo yum remove docker*
# 2. 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 3. 添加阿里云Docker源(替换默认源)
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 4. 安装Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 5. 配置镜像加速器(国内源)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"insecure-registries": ["harbor.domain.io"], # 私有仓库可配置在此处如:192.168.xxx.xxx:5000,可以拉取私有仓库镜像免于鉴权
"registry-mirrors": ["https://your-mirror.mirror.aliyuncs.com"],
"data-root": "/data/docker" # 自定义存储目录
}
EOF
# 6. 启动服务
sudo systemctl enable --now docker
方式2:二进制安装(离线环境)
# 1. 下载二进制包(官网替换版本号)
wget https://download.docker.com/linux/static/stable/x86_64/docker-24.0.7.tgz
# 2. 解压安装
sudo tar -zxvf docker-*.tgz -C /usr/local/bin --strip-components=1
# 3. 创建配置文件
sudo mkdir /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"insecure-registries": ["harbor.domain.io"], # 私有仓库可配置在此处如:192.168.xxx.xxx:5000,可以拉取私有仓库镜像免于鉴权
"registry-mirrors": ["https://registry.example.com"],
"data-root": "/mnt/docker-data" # 自定义存储目录
}
EOF
# 4. 创建systemd服务
sudo tee /etc/systemd/system/docker.service <<-'EOF'
[Unit]
Description=Docker Application Container Engine
After=network.target
[Service]
ExecStart=/usr/local/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
[Install]
WantedBy=multi-user.target
EOF
# 5. 启动服务
sudo systemctl enable --now docker
详细说明
1. 为何自定义镜像源?
- 加速下载:国内访问Docker Hub速度慢,使用阿里云/腾讯云镜像加速
- 私有仓库:企业环境使用自建Registry(如Harbor)保障安全
- 配置位置:
/etc/docker/daemon.json
中的registry-mirrors
字段
2. 自定义存储目录的必要性
- 默认路径问题:
/var/lib/docker
易导致系统盘空间不足 修改方法:
{ "data-root": "/path/to/new/directory" }
迁移数据(可选):
systemctl stop docker cp -a /var/lib/docker/* /new/path/ systemctl start docker
3. yum vs 二进制安装对比
特性 | yum安装 | 二进制安装 |
---|---|---|
依赖管理 | 自动解决依赖 | 需手动安装依赖 |
更新维护 | 支持yum更新 | 需重新下载替换 |
网络要求 | 需要互联网访问 | 离线可用 |
适用场景 | 生产环境推荐 | 无外网/特殊版本需求 |
4. 私有仓库配置
- 自建仓库:部署Harbor或Registry
客户端配置:
{ "insecure-registries": ["myregistry.example.com:5000"] }
登录认证:
docker login myregistry.example.com:5000 -u <用户名> -p <密码>
5. 安装后验证
# 检查版本
docker --version
# 测试运行
docker run hello-world
# 查看配置生效情况
docker info | grep -E 'Registry|Docker Root'
注意事项
- 存储目录权限:确保自定义目录有写入权限(
chmod 755 /data/docker
) - SELinux问题:如遇权限错误可临时
setenforce 0
或配置SELinux策略 - 防火墙配置:开放2375(管理端口)和5000(私有仓库)端口
- 版本兼容性:二进制安装需注意内核版本(要求3.10+)
生产环境建议:
- 使用yum安装保障稳定性
- 存储目录单独挂载数据盘
- 配置私有仓库提高安全性
- 定期清理镜像(
docker system prune
)
总结
在CentOS安装Docker时,yum方式适合大多数场景,二进制安装满足特殊需求。关键配置包括:
- 通过
daemon.json
配置镜像加速源 - 修改
data-root
转移存储目录 - 企业环境配置私有仓库地址
完成安装后运行docker info
验证配置,即可开始安全的容器化之旅!