跳转到内容

Docker数据目录迁移

docker-data-directory-immegration-poster

docker安装后默认再/var/lib/docker目录下存储数据,随着容器、镜像增多以及日志文件变大,可能会出现var目录存储空间不足的问题。

Terminal window
# 停止docker服务
systemctl stop docker
# 按照原本权限复制数据,不然会影响已经启动的容器的重新运行
cp -arv /var/lib/docker /path/to/data/root

修改/etc/docker/daemon.json文件内容如下(不存在则创建):

{
// 数据目录
"data-root": "/path/to/data/root",
"log-driver": "json-file",
// 日志配置
"log-opts": {
// 禁用缓存
"cache-disabled": "false",
// 最多缓存文件数量
"cache-max-file": "5",
// 每个缓存文件最大大小
"cache-max-size": "20m",
// 压缩缓存文件
"cache-compress": "true",
//
"env": "os,customer",
// 最多日志文件数量
"max-file": "10",
// 每个日志文件最大大小
"max-size": "10m"
}
}
Terminal window
# 刷新配置
systemctl daemon-reload
# 启动docker
systemctl start docker
# 启动容器
systemctl start container1 ...

充分测试没问题之后,可以将原先数据存储目录/var/lib/docker删除