线上环境原来的磁盘比较小,随着业务数据的增多,磁盘需要扩容,因此需要把原来docker数据转移至新的数据盘。
数据迁移
操作系统: centOS 7
docker默认的数据目录为/var/lib/docker
创建一个新的目录/opt/dockerdata,先停止docker服务
systemctl stop docker
将docker 数据目录迁移到新目录
cp -rvf /var/lib/docker/* /opt/dockerdata/
修改docker默认数据存储目录配置,在/etc/docker/daemon.json文件添加以下内容,若是没有/etc/docker/daemon.json文件,则新建该文件
vi /etc/docker/daemon.json
重启docker
systemctl restart docker
输入docker info, 可以看目录已经变更成新的目录了
输入docker ps -a 可以看到原先启动的容器仍然存在,节点重启。
用sdk 调用智能合约,看到链码容器也已经重启完毕
常见问题
Q: 操作完成后重启docker发现镜像和容器都没了
A: 数据没转移成功,我也曾经遇到过这个问题,刚开始用的cp -R 命令
cp -r /var/lib/docker/* /opt/dockerdata/
定位很久, 发现/opt/dockerdata/overlay2下面缺乏文件, 后来换成cp -rvf发现数据转移成功。
cp -rvf /var/lib/docker/* /opt/dockerdata/