如果是通过 Ubuntu 的 apt-get 安装的 Docker,默认的安装目录应该是:/var/lib/docker
。
为了完全确定,可以使用以下的命令查询真正的安装路径:
sudo docker info | grep "Docker Root Dir"
下文以 /store/software/docker
这个路径作为要迁移的新 Docker 安装(存储)目录
在开始迁移之前,首先复制原 Docker 安装(存储)目录到新的路径下:
cp -a /var/lib/docker /store/software/
然后备份原目录数据:
mv -u /var/lib/docker /var/lib/docker.bak
通过把 Docker 的原安装(存储)目录移动到自定义的其他路径下,然后在原位置下建立软链接是最简单快捷的方式。
首先,关停 Docker 服务:
sudo systemctl stop docker
# or
sudo service docker stop
接着,新建一个 /var/lib/docker
的软链:
sudo ln -fs /store/software/docker /var/lib/docker
最后,重启 Docker 服务:
sudo systemctl start docker
# or
sudo service docker start
启动 Docker 之后,以后你 pull image 和 run container,Docker 写入的路径依然是 /var/lib/docker
,但是因为软链的设置,实际已经是往新的目录写入了。至此,完成了 Docker 安装(存储)目录的迁移。
因为 dockerd 运行 Docker 服务的时候可以通过参数 graph
指定镜像和容器存放路径,比如:–graph=/var/lib/docker
,我们只需要修改配置文件指定启动参数即可。
Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不一致,在 Ubuntu 中的位置是:/etc/default/docker
,在 CentOS 中的位置是:/etc/sysconfig/docker
。
# 如果是 CentOS 则添加下面这行:
OPTIONS=--graph="/store/software/docker" --selinux-enabled -H fd://
# 如果是 Ubuntu 则添加下面这行(因为 Ubuntu 默认没开启 selinux):
OPTIONS=--graph="/store/software/docker" -H fd://
# 或者
DOCKER_OPTS="-g /store/software/docker"
因为 Docker 官方在这个发行版本就 deprecated 了 graph
这个 feature,所以如果你机器上安装的 Docker 版本 >= v17.05.0,则无法通过在 /etc/default/docker
配置文件中指定 graph
参数来修改 Docker 的默认安装(存储)目录了,具体参见官网文档:Docker Docs。
好在天无绝人之路,新版本的 Docker 还有其他方式可以达到我们修改安装(存储)目录的目的:通过修改(新建)/etc/docker/daemon.json
,指定 data-root
参数的值。
按如下操作:
vim /etc/docker/daemon.json
加入
{
"data-root": "/store/software/docker",
"storage-driver": "overlay2" # 这个是 Docker 是默认设置,这里也可以不用加
}
最后,重启 Docker 服务:
sudo systemctl restart docker
# or
sudo service docker restart
通过上述任一方法完成迁移之后,在确认 Docker 能正常工作之后,删除备份的原目录数据:
rm -rf /var/lib/docker.bak
作者:panjf2000
链接:https://hacpai.com/article/1566017283738
来源:黑客派
协议:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/
1 帧中继相关简介FR是由X.25分组交换技术基础上演变而来的,为了提高网络的传输率,FR放弃了X.25的差错控制和流量控制功能,当FR交换机收到错帧时只是简单地丢弃之,不提供确认包,这些功能由客户端自行完成,从而简化了协议FR提供的也是虚电路服务,其传输速率可达到2M bps~ 45M bps。帧中继在许多方面非常类似于 X.25,被称为第二代的 X.252 帧中继中的虚电路帧中继的逻辑连
SMP(Symmetric Multi-Processing),对称多处理结构的简称,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。在这种技术的支持下,一个服务器系统可以同时运行多个处理器,并共享内存和其他的主机资源。收藏7819对称多处理编辑对称多
微信小程序引入外部字体前言wx.loadFontFaceBase64尾巴前言微信小程序由于打包体积限制,不支持直接引入字体文件。但是如果我们想引入自定义的字体该怎么操作了?接下来我们介绍两种引入自定义字体的方式。wx.loadFontFace第一种方式就是通过官方的wx.loadFontFace(Object object)这个API去加载字体,具体用法请参考官方wx.loadFontFace用法。大概使用方法如下:wx.loadFontFace({ family: 'Bitstream Ve
一、CGIC简介1、CGI简介CGI(Common Gateway Interface)是外部应用扩展应用程序与WWW服务器交互的一个标准接口。按照CGI标准编写的外部扩展应用程序可以处理客户端浏览器输入的数据,从而完成客户端与服务器的交互操作。而CGI规范就定义了Web服务器如何向扩展应用程序发送消息,在收到扩展应用程序的信息后又如何进行处理等内容。通 过CGI可以提供许...
<br /> 由于编译器会为用户自定义类型(user-defined types) 之成员变量自动调用<br />default 构造函数一一如果那些成员变量在"成员初值列"中没有被指定初值的话,<br />因而引发某些程序员过度夸张地采用以上写法。那是可理解的,但请立下一个规则,<br />规定总是在初值列中列出所有成员变量,以免还得记住哪些成员变量(如果它们在<br />初值列中被遗漏的话〉可以无需初值。举个例子,由于numTimesConsulted 属于内<br />置类型,如果成员初值列(
PDG描述了需要完成的work item以及它们之间的依赖关系。
原文地址:https://mp.weixin.qq.com/s/zwqqXD0RlGWlso9_s8aMOg表结构DROP DATABASE IF EXISTS test1;CREATE DATABASE test1;USE test1;##部门表#DROP IF EXISTS TABLE DEPT;CREATE TABLE DEPT( DEPTNO int PRIMAR...
使用centos7X64最小化安装CentOS-7-x86_64-Minimal-17081.配置防火墙:关闭防火墙和加入放行端口二选一1.1 直接关闭防火墙systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动firewall-cmd --s...
起初我是使用刷机包提供的刷机软件,虽然能够成功刷入,但是开机后无基带 无信号,现提供解决办法:下载地址:有广告软件http://rom.url88.cn/201909064005331/OPPOA37t%E7%89%88%E6%9C%ACA37t_11_A.01_160316%E5%AE%98%E6%96%B9%E7%BA%BF%E5%88%B7%E5%8C%85%E8%A7%A3%E9...
1.首先打开IDLE,然后在内部输入import osos.getcwd() #获取当前路径os.chdir("E:\\Python\\main") #跳到目标路径下2.跳过来后,输入import test.py这样就可以运行test.py程序了,然后看有没有出错,出错后是哪个模块缺少补哪里3.安装软件多会遇到版本不兼容,(python3.5,必须在3.6及以上……)pip i...
NavLink与Link区别 1.NavLink可以实现路由链接的高亮,通过activeClassName指定样式名 {/* 在React中靠路由链接实现切换组件--编写路由链接 */}<NavLink activeClassName="huang" className="list-group-item" to="/about">About</NavLink><NavLink activeClassName="huang" className="list-gro.