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的参数是否为更新后的路径
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
springboot整合docker部署实现两种构建Docker镜像方式
这篇文章主要介绍了springboot整合docker部署实现两种构建Docker镜像方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-04-04idea 连接远程 docker 并部署项目到 docker的过程
这篇文章主要介绍了idea连接远程docker并部署项目到docker,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-10-10
最新评论