背景

之前在使用docker的时候,由于启动container的时候用的是默认的mount(路径为 /var/lib/docker),这个目录对应的硬盘空间有限,只有200G左右。现在随着程序运行,有大量的数据生成。硬盘空间就悲剧了。。。。

现在的想法是,宿主机上还有一块大硬盘空间,需要docker把数据放到大硬盘上。

解决方案

方法一 修改 docker daemon 的启动参数 -g, --graph=""

Path to use as the root of the Docker runtime. Default is /var/lib/docker.

docker -d --graph=/opt/docker

 注: 这种方式只会临时修改,如果重启 docker daemon,就又会回到默认值。。。

我们可以通过修改 docker daemon的配置文件的方式来保存我们修改,方法如下:

默认情况下,docker daemon 会有一个默认的configuration 文件,此外,我们可以新建一个名为“daemon.json”文件的文件,我们在这个文件中的定义,会覆盖默认配置文件的内容文件。

#cd etc/docker
#vim daemon.json

在这个文件里面加入我们的内容,即修改docker daemon 的 Rootpath

{
"graph": "/data/docker"
}

重新 load 配置

# systemctl daemon-reload

重新启动 docker daemon

# systemctl restart docker.service

此时,我们再来看 docker 的信息,docker root dir 已经更改:

# docker info

 

方法二 挂载新目录到docker根目录

mount -o bind /var/lib/docker /opt/docker 

永久修改在需要在 /etc/fatab 添加:

/opt/docker /var/lib/docker none bind 0 0

参考:

https://www.lsproc.com/post/docker-faq/#toc_1

https://stackoverflow.com/questions/43649560/how-to-change-docker-daemon-root-directory-in-centos7

docker - 修改镜像/容器文件或者 "Docker root dir" 的在宿主机上的存储位置的更多相关文章

  1. docker - 修改镜像/容器文件的在宿主机上的存储位置(转)

    背景 之前在使用docker的时候,由于启动container的时候用的是默认的mount(路径为 /var/lib/docker),这个目录对应的硬盘空间有限,只有200G左右.现在随着程序运行,有 ...

  2. Maven学习总结(三):修改从Maven中心仓库下载到本地的jar包的默认存储位置

    一:修改从Maven中心仓库下载到本地的jar包的默认存储位置 从Maven中心仓库下载到本地的jar包的默认存放在”${user.home}/.m2/repository”中,${user.home ...

  3. docker 修改镜像和容器的存放路径(最新自己实践了第三种方法)

    docker info :查看docker的存储等相关信息. 将路径修改至挂载磁盘中 前提:磁盘已挂载成功 方法一: 1.停止docker 服务 service docker stop 2.备份数据到 ...

  4. Docker 修改镜像源地址

    Docker 官方中国区 https://registry.docker-cn.com 网易 http://hub-mirror.c.163.com ustc https://docker.mirro ...

  5. 2.ASP.NET Core Docker学习-镜像容器与仓库

    Docker下载 https://www.docker.com/community-edition 社区版 (CE) 下载完后安装,运行 docker --version 可查看版本 基本命令: 下面 ...

  6. docker 修改镜像地址

    一.直接设置 –registry-mirror 参数,仅对当前的命令有效 docker run hello-world --registry-mirror=https://docker.mirrors ...

  7. docker tar 镜像 容器相互转换

    学习 使用 docker 也有一段时间了 但是在基础去上面有些东西总是容易忘记 整理之前看到的文档,看到一个问题 怎么将一个容器导出成为tar,我本以为是首先 保存成为镜像 再 save 进行保存 查 ...

  8. Win10 Docker修改镜像存储位置

    发生现象: 在windows10下安装docker for windows,随着用docker pull image文件后,C盘的容量越来越小了,你可能也有一种跟我一样的想法,想改变默认的安装路径,本 ...

  9. Docker系列10—容器编排工具Docker Compose详解

    本文收录在容器技术学习系列文章总目录 1.Docker Compose 概述 Compose是一个用于定义和运行多容器Docker应用程序的工具.使用Compose,您可以使用Compose文件来配置 ...

随机推荐

  1. (并查集)How Many Tables -- HDU --1213

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=1213 http://acm.hust.edu.cn/vjudge/contest/view.action ...

  2. HDU1254 推箱子(BFS) 2016-07-24 14:24 86人阅读 评论(0) 收藏

    推箱子 Problem Description 推箱子是一个很经典的游戏.今天我们来玩一个简单版本.在一个M*N的房间里有一个箱子和一个搬运工,搬运工的工作就是把箱子推到指定的位置,注意,搬运工只能推 ...

  3. codevs 1160

    这道题还是和蛇形填数有关,因为要不停的去转圈圈去判断是否到了最中间的那个位置,所以用到了递归的思想. #include<stdio.h> int n,a[100][100]; void r ...

  4. Win10下安装msi程序包时报2503、2502错误问题及其解决办法

    Win10系统下安装TortoiseSvn.Node.js时(.msi后缀的安装文件),在点击安装时老是提示2503,2502错误,因此无法安装上. 搜索了下一般都提到是权限不够引起的该问题.但是右键 ...

  5. Spring Boot 应用系列 5 -- Spring Boot 2 整合logback

    上一篇我们梳理了Spring Boot 2 整合log4j2的配置过程,其中讲到了Spring Boot 2原装适配logback,并且在非异步环境下logback和log4j2的性能差别不大,所以对 ...

  6. MYC编译器源码之语法分析

    MyC编译器采用自顶向下的方法进行语法解析,这种语法解析方式,一般是从最左边的Token开始,然后自顶向下看哪一条语法规则可能包含这个Token,如果包含这个Token,则自左向右根据这条语法规则逐一 ...

  7. javac编译单文件、多文件引入jar包、-cp解决无法加载主类问题

     引言:很多人用ide集成开发环境用的多了,对dos命令编译多个java文件或引入jar包都变得陌生了,java不同于其他解释语言,如ruby.php 都有require,直接引入即可运行代码,但ja ...

  8. c# 求第30位数的值

    1,1,2,3,5,8,13,21,34,55.... 求第30位数的值: 递归方法: class Program { static void Main(string[] args) { //找规律: ...

  9. c#与c++类型

    C/C++ C# HANDLE, LPDWORD, LPVOID, void* IntPtr LPCTSTR, LPCTSTR, LPSTR, char*, const char*, Wchar_t* ...

  10. python 发qq邮件

    import smtplibfrom email.mime.text import MIMETextmsg_from = '979477675@qq.com' # 发送方邮箱passwd = 'irg ...