1.软文推荐

2.软文推荐

3.软文推荐

于系统初始分区的原因,导致操作系统中对应 / 分区不会太大,通过 /var 目录不会单独分区。如果上面运行 Docker 服务,经过长时间的使用,会使原本就比较大的分区越来越不够用。

由于系统初始分区的原因,导致操作系统中对应 / 分区不会太大,通过 /var 目录不会单独分区。如果上面运行 Docker 服务,经过长时间的使用,会使原本就比较大的分区越来越不够用。如何更好地的处理这个问题呢?

1. 使用软链接

我们知道在操作系统当中,默认情况下 Docker 容器的存放位置在 /var/lib/docker 目录下面,可以通过下面命令查看具体位置。

# 默认存放位置
$ sudo docker info | grep "Docker Root Dir"

解决默认存储容量不足的情况,最直接且最有效的方法就是挂载新的分区到该目录。但是在原有系统空间不变的情况下,所以采用软链接的方式,修改镜像和容器的存放路径达到同样的目的。

# 停掉Docker服务
$ systemctl restart docker
# 停掉Docker服务
$ service docker stop

然后移动整个 /var/lib/docker 目录到空间不较大的目的路径。这时候启动 Docker 时发现存储目录依旧是 /var/lib/docker 目录,但是实际上是存储在数据盘 /data/docker 上了。

# 移动原有的内容
$ mv /var/lib/docker /data/docker
# 进行链接
$ ln -sf /data/docker /var/lib/docker
2. 指定容器启动参数

在配置文件中指定容器启动的参数 –graph=/var/lib/docker 来指定镜像和容器存放路径。Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不一致。在 Ubuntu 中的位置是 /etc/default/docker 文件,在 CentOS 中的位置是 /etc/sysconfig/docker 文件。

# CentOS6
# 因为Ubuntu默认开启了selinux机制
OPTIONS=--graph="/data/docker" --selinux-enabled -H fd://
# CentOS7
# 修改docker.service文件,使用-g参数指定存储位置
$ vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph /new-path/docker
# Ubuntu
# 因为Ubuntu默认没开启selinux机制
OPTIONS=--graph="/data/docker" -H fd://

重新启动之后,Docker 的路径就改成 /data/docker 了。

# 重新reload配置文件
$ sudo systemctl daemon-reload
# 重启docker服务
$ sudo systemctl restart docker.service

如果 Docker 的版本是 1.12 或以上的,可以修改或新建 daemon.json 文件。修改后会立即生效,不需重启 Docker 服务。

# 修改配置文件
$ vim /etc/docker/daemon.json
{
"registry-mirrors":
["http://7e61f7f9.m.daocloud.io"],
"graph""/new-path/docker"
}
3. System 下创建配置文件

在 /etc/systemd/system/docker.service.d 目录下创建一个 Drop-In 文件 docker.conf,默认 docker.service.d 文件夹不存在,必须先创建它。创建 Drop-In 文件的原因,是我们希望 Docker服务使用 docker.conf 文件中提到的特定参数,将默认服务所使用的位于 /lib/systemd/system/docker.service 文件中的参数进行覆盖。

# 定义新的存储位置
$ sudo vi /etc/systemd/system/docker.service.d/docker.conf
[Service]
ExecStart=/usr/bin/dockerd --graph="/data/docker" --storage-driver=devicemapper

保存并退出 vim 编辑器 /data/docker 就是新的存储位置,而 devicemapper 是当前 Docker 所使用的存储驱动。如果你的存储驱动有所不同,请输入之前第一步查看并记下的值。现在,你可以重新加载服务守护程序,并启动 Docker 服务了,这将改变新的镜像和容器的存储位置。为了确认一切顺利,运行 docker info 命令检查 Docker 的根目录。

# 重新reload配置文件
$ sudo systemctl daemon-reload
# 重启docker服务
$ sudo systemctl start docker

本文来源:www.lxlinux.net/9143.html,若引用不当,请联系修改。

相关文章 8

1

如何优化搜索引擎使用金苹果的简单介绍 1分钟前

目录:1、如何做好搜索引擎优化2、怎样提高搜索引擎优化?3、对网站进行搜索引擎优化的方法是什么?4、如何做搜索引擎优化5、如何做好...

2

讲解一下数据分析的价值 4分钟前

经常有同学在工作中抱怨,感觉做的分析没有啥业务价值,报表丢出去了也没回应。到底怎么做才能让数据分析体现价值,今天结合一个具...

4

向日葵远程控制软件(向日葵远程控制软件使用方法) 8分钟前

目录:1、向日葵远程控制app怎么用2、向日葵软件是干什么用的3、电脑向日葵是什么软件4、向日葵远程控制软件 电脑可以控制手机吗5、向...

5

Linux常用命令—consoletype命令 10分钟前

Linux常用命令 consoletype 用于打印已连接的终端类型到标准输出,并能够检查已连接的终端是当前终端还是虚拟终端,下面良许教程网为大家...

6

cn2线路高防vps(CN2直连线路) 13分钟前

目录:1、CN2线路VPS有哪些优势2、美国cn2高防服务器和普通线路的区别在什么地方?3、伊朗服务器租用、伊朗主机VPS、大带宽,CN2线路,高...

7

Linux系统中通过wogo浏览天气预报 14分钟前

对于 Linux 桌面用户来说,有很多办法获取天气预报,比如使用专门的天气应用、桌面小插件,或者面板小程序。但是如果你的工作环境是基...

8

在 Linux 系统日常使用过程中,有个操作经常会被使用者用到,那就是 SSH。 17分钟前

SSH 是什么作用?想必看这篇文章的你应该都明白,这里就不再做赘述。 笔者最近需要在 Linux 服务器上进行大量的环境部署操作,每次的 ...