我們在一臺jenkins機器上/tmp目錄磁盤空間不夠了,而/tmp掛載到/目錄。最後一查根目錄。定位到是/var/lib/docker目錄太大。於是有了遷移這個目錄的需求。
du -sh /tmp/* | sort -h
乾貨
1.首先,備份fstab文件 sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)
2.停止docker
service docker stop
3.使用rsync工具同步,
mkdir -p /data/docker && cd /data/docker
yum -y install rsync
rsync -aXS /var/lib/docker/. /data/docker/
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
-X, --xattrs preserve extended attributes
-S, --sparse handle sparse files efficiently
4.修改fstab 在該文件中把下面一行添加到fstab裏,將新位置掛載到 /var/lib/docker
新增的內容如下:
/data/docker /var/lib/docker none bind 0 0
5.重新掛載 && 查看結果
mount –a
df -h
6.重啓docker
整合到一個root執行的腳本:
#!/bin/bash
cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)
service docker stop
export DOCKER_PATH=/data/docker/
rsync -aXS /var/lib/docker/. $DOCKER_PATH
echo $DOCKER_PATH /var/lib/docker none bind 0 0 >> /et/fstab
mount -a
df -h
service docker start