前两天,logstash服务的日志一直在报错:
[FORBIDDEN/12/index read-only / allow delete (api)]
登上es所在的服务器看一眼,发现磁盘满了,挂载在/
根目录的磁盘只有50G,虽然并不是es的存储导致的(因为已经设置了好了volums),但是docker容器没有空间也会导致服务不正常,所以打算把docker服务的目录都迁移至另一个分区。
准备工作
查看当前docker的Root Dir
1 | # docker info | grep "Docker Root Dir" |
这个目录是docker默认的安装目录,不论是构建镜像还是创建容器都是存储在该目录下的,如果磁盘满了,甚至会导致docker容器不能重启。
假设我们/home
分区有足够的空间,我们会将/var/lib/docker
迁移至/home/var/lib/docker
,创建一下这个目录
mkdir -p /home/var/lib/docker/
开始迁移
停止docker服务
systemctl stop docker
利用rsync
同步目录文件
rsync -avz /var/lib/docker/ /home/var/lib/docker
经过漫长的等待后,目录终于同步完成了
接下来编辑docker配置文件,没有则创建
例如:
vim /etc/docker/daemon.json
1 | { |
启动docker服务
systemctl start docker
再次执行docker info
1 | # docker info | grep "Docker Root Dir" |
再启动各个容器,查看服务是否正常。
这样就迁移好了。