使用 nsenter 进入容器
bash
# 获取容器的 PID
PID=$(docker inspect --format '{{.State.Pid}}' my-container-id)
# 使用 nsenter 进入容器
nsenter -t $PID -m -u -n -i -p
事后的故障原因分析
由于docker目录占用了大量根分区,做了以下操作
bash
systemctl stop docker
mv /var/lib/docker /home/
ln -s /home/docker /var/lib/
systemctl start docker
中途由于没有umount overlayfs,有报错
解决过程
bash
systemctl stop my-container-id
systemctl stop docker
systemctl start docker
systemctl exec -it my-continaer-id /bin/bash
停止容器,重启docker后恢复了。