Ubuntu20.04修改docker镜像存储位置并进行数据迁移


1.首先,默认情况下docker的镜像和容器都是保存在/var/lib/docker下面,可以进入查看一下:

如果不是root用户查看的话,可能会出现权限不够的问题,可以通过chown更改文件夹权限:
sudo chown -R apr:user /var/lib/docker
其中,apr表示用户当前所在的用户组,user表示用户账户名称
可以使用groups user查看用户user所在的用户组

2.使用du命令查看文件夹大小:
sudo du -hd 1

verlay2就是镜像文件大小

3.将原来的docker文件夹拷贝到新的地方(比如更大的磁盘上,假设是/data分区)
sudo cp -r /var/lib/docker /data/docker
注:这里不需要新建一个/data/docker目录,再进行复制,如果原来就存在、data/docker的话,复制的结果会变成/data/docker/docker

4.然后修改docker中默认镜像和容器的保存位置。
sudo vim /etc/docker/daemon.json

5.将里面的data-root改为新的docker容器存储位置(前面一行如果配置有镜像源的话,一定要加“,”将两个语句隔离开)
"data-root": "/data/docker",

6.修改docker.service里的内容
vim /lib/systemd/system/docker.service

将ExecStart这一行修改为:

ExecStart=/usr/bin/dockerd --graph=/data/docker --storage-driver=overlay

然后重启docker服务,就可以更新docker默认的镜像容器保存位置,特别注意,如果新的保存位置里拷贝了原来容器保存位置里的所有内容,那么镜像数据等也就迁移过来了。
sudo systemctl stop docker
sudo systemctl start docker
sudo systemctl status docker

docker主要是做了文件系统的隔离,所以每个镜像和容器实际上都是依赖块隔离的硬盘空间(在里面部署一个隔离的文件系统),所以可以通过直接拷贝的方式进行迁移,而不需要担心有什么依赖关系无法通过拷贝带过去。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM