docker如何修改容器默认存储路径
作者:早退的程序员
这篇文章主要介绍了docker如何修改容器默认存储路径问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
docker修改容器默认存储路径
docker安装之后默认的服务数据存放根路径为/var/lib/docker目录下,var目录默认使用的是根分区的磁盘空间;
所以这是非常危险的事情;
随着我们镜像、启动的容器实例开始增多的时候,磁盘所消耗的空间也会越来越大,所以我们必须要做数据迁移和修改docker服务的默认存储位置路径;
有多种方式是可以修改docker默认存储目录路径的,但是最好是在docker安装完成后,第一时间便修改docker的默认存储位置路径为其他磁盘空间较大的目录(一般企业中为/data目录),规避迁移数据过程中所造成的风险。
1)创建docker容器存放的路径
# mkdir -p /home/data/docker/lib
(2)停止Docker服务并迁移数据到新目录
# systemctl stop docker.service # rsync -avz /var/lib/docker/ /home/data/docker/lib/
(3)创建Docker配置文件
# mkdir -p /etc/systemd/system/docker.service.d/ # vim /etc/systemd/system/docker.service.d/devicemapper.conf [Service] ExecStart= ExecStart=/usr/bin/dockerd --graph=/home/data/docker/lib/
(4)重启Docker服务
# systemctl daemon-reload # systemctl restart docker
(5)查看现在容器存放的目录
# docker info | grep "Dir" Docker Root Dir: /home/data/docker/lib
docker服务修改默认存储路径,并迁移原有的容器
1.关闭docker中所有的容器
docker stop $(docker ps -a -q)
2.关闭docker服务
sudo systemctl stop docker.socket sudo systemctl stop docker.service sudo systemctl stop docker
3.复制镜像文件
这里以/docker目录为例
cp -an /var/lib/docker/* /docker
4.编辑/etc/docker/daemon.json添加以下参数
{ "data-root": "/docker" }
5.重新加载docker,并重启docker服务
sudo systemctl daemon-reload && sudo systemctl restart docker
6.检查是否更换路径
docker info 查看Docker Root Dir的参数是否为更新后的路径
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。