在CentOS上设置Docker存储主要涉及配置Docker的存储驱动和相关参数。以下是一个详细的步骤指南:
首先,确保你的CentOS系统已经更新到最新版本,然后安装Docker CE(社区版):
sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce
安装完成后,启动Docker服务并设置为开机启动:
sudo systemctl start docker
sudo systemctl enable docker
Docker支持多种存储驱动,如overlay2、devicemapper等。以下是如何配置devicemapper存储驱动的示例:
# 创建物理卷
sudo pvcreate /dev/vda1
# 创建卷组
sudo vgcreate docker /dev/vda1
# 创建thin pool
sudo lvcreate --wipesignatures y -n thinpool docker -l 95%VG
sudo lvcreate --wipesignatures y -n thinpoolmeta docker -l 1%VG
# 激活thin pool
echo "activation {
thin_pool_autoextend_threshold=80
thin_pool_autoextend_percent=20
}" > /etc/lvm/profile/docker-thinpool.profile
sudo lvchange --metadataprofile docker-thinpool docker/thinpool
编辑Docker的配置文件/etc/docker/daemon.json
,设置存储驱动和其他相关参数:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"storage-driver": "devicemapper",
"storage-opts": [
"dm.thinpooldev=/dev/mapper/docker-thinpool",
"dm.basesize=5G",
"dm.fs=ext4"
]
}
EOF
然后重启Docker服务以应用配置:
sudo systemctl daemon-reload
sudo systemctl restart docker
数据卷用于持久化存储数据。你可以使用docker volume
命令来管理数据卷。
sudo docker volume create my_volume
sudo docker volume ls
sudo docker volume inspect my_volume
你可以通过调整Docker的配置文件来优化存储性能。编辑/etc/docker/daemon.json
文件,添加或修改以下参数:
{
"storage-driver": "overlay2",
"storage-opts": [
"size=100G",
"overlay2.override_kernel_check=true"
]
}
size
:设置数据卷的最大大小。overlay2.override_kernel_check
:允许使用overlay2存储驱动,即使内核版本不支持。修改完成后,重启Docker服务:
sudo systemctl restart docker
你可以使用以下命令来监控Docker的存储使用情况:
sudo docker system df
定期清理未使用的镜像、容器和卷可以释放存储空间:
# 删除所有未使用的容器、网络、镜像和卷
sudo docker system prune -a
# 删除所有未使用的卷
sudo docker volume prune