docker如何修改容器默认存储路径

 更新时间:2024年07月04日 15:18:24   作者:早退的程序员  
这篇文章主要介绍了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的参数是否为更新后的路径

总结

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

相关文章

  • docker swarm 集群故障与异常详解

    docker swarm 集群故障与异常详解

    这篇文章主要介绍了docker swarm 集群故障与异常详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 使用Docker部署openGauss国产数据库的操作方法

    使用Docker部署openGauss国产数据库的操作方法

    openGauss是一款支持SQL2003标准语法,支持主备部署的高可用关系型数据库,这篇文章主要介绍了使用Docker部署openGauss国产数据库,需要的朋友可以参考下
    2022-10-10
  • docker如何部署带有界面的registry仓库

    docker如何部署带有界面的registry仓库

    这篇文章主要介绍了docker如何部署带有界面的registry仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • docker利用单个镜像映射到多个端口操作

    docker利用单个镜像映射到多个端口操作

    这篇文章主要介绍了docker利用单个镜像映射到多个端口操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 更换k8s容器运行时环境为docker的过程

    更换k8s容器运行时环境为docker的过程

    这篇文章主要介绍了更换k8s容器运行时环境为docker的过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-10-10
  • Dify Docker私有化部署遇到的问题及解决

    Dify Docker私有化部署遇到的问题及解决

    Dify 1.01 在 Docker Desktop 4.38.0 上部署时,db 无法启动,权限问题导致,解决方法是修改 `docker-compose.yaml` 文件,为 `db` 配置正确的权限,并创建一个名为 `postgres-data101` 的 Volume 区
    2026-01-01
  • docker运行nginx绑定配置文件失败原因以及问题解决

    docker运行nginx绑定配置文件失败原因以及问题解决

    最近工作中在使用docker运行nginx的时候遇到了些问题,下面分享给大家,这篇文章主要给大家介绍了关于docker运行nginx绑定配置文件失败原因以及问题解决的相关资料,需要的朋友可以参考下
    2023-02-02
  • Docker从零开始学习之Commit提交命令

    Docker从零开始学习之Commit提交命令

    docker commit命令是用于根据docker容器的改变创建一个新的docker镜像,下面这篇文章主要给大家介绍了关于Docker从零开始学习之Commit提交命令的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • mac上使用docker搭建gitlab全过程

    mac上使用docker搭建gitlab全过程

    本文详细介绍了在Mac上使用Docker搭建GitLab的过程,包括安装Docker、拉取GitLab镜像、启动容器、访问和配置GitLab等步骤,同时,还提供了重置管理员密码的方法,帮助解决常见问题
    2024-11-11
  • 使用docker在服务器运行多个php版本

    使用docker在服务器运行多个php版本

    这篇文章主要介绍了利用docker在服务器运行多个版本php,本文以php7为例,通过实例代码的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04

最新评论