docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker修改容器默认存储路径

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的参数是否为更新后的路径

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文