【Docker】更改docker镜像的存储路径

1.查看Docker存储路径

docker info|grep "Docker Root Dir"

2.关闭所有运行的容器

···
docker ps | awk '{print $1}' |xargs docker stop
···

3.停止docker服务

systemctl stop docker

4.新增的磁盘挂载点上新建目录,并将原有的docker容器和镜像全部拷贝过来,比如这里新增磁盘的挂载点为 /data/,则参照如下命令操作

mkdir -p /data/var/lib/docker/
cd /data/var/lib/docker/
cp -R /var/lib/docker/* /data/var/lib/docker/
#这段配置看下述补充,只适合做软链接迁移了
mv /var/lib/docker /var/lib/docker-bak
ln -s /data/var/lib/docker /var/lib/docker
------------------------------------------------------------------
#补充,这里出现了一个cp -R 文件复制递归问题,只能递归/var/lib/docker 的docker子目录的权限,导致在配置文件daemon.json 修改了路径启动一直报错(一般递归地复制目录和子目录,并且保留源文件的所有权限信息,包括所有者、所属组、文件权限以及时间戳等)
#建议修改为以下路径
mkdir -p /data/docker/
cd /data/docker/
cp -R /var/lib/docker/* /data/docker/

5.设置docker的配置文件,并指定存储路径,如果文件不存在则直接创建一个

vi /etc/docker/daemon.json

{
	"data-root": "/data/docker",
	"registry-mirrors": ["https://ooe7wn09.mirror.aliyuncs.com"]
	}

6.重启docker服务

systemctl daemon-reload
systemctl start docker

完成docker容器和镜像默认路径的修改

posted @ 2023-12-08 10:50  肥羊杀手  阅读(1636)  评论(0)    收藏  举报