Docker 更改镜像存储位置
在使用 Docker 的过程中,如果我们一切都以默认的设置进行操作的话,在使用一段时间之后你应该会发现系统的根目录空间越来越少,直到有一天发现空间都被占满了,最后发现原来是被 Docker 占用了。所以这个时候就需要处理这个蛋疼的问题了,在传统的 PC 时代我们可能会听纠结的,因为就笔记本来说,你要加个硬盘往哪加啊。如果是台式机,倒是可以直接加,但是还得买一块,所以此时,是时候推荐一波云服务器了。
当然你会说,我的 xx 应用或者 xx 网站就是跑在云服务器上,但是,这和我想说的还不太一样,我想说的是将云服务器作为平时的开发测试机器,这样我们就不会遇到磁盘不足,内存不足这些问题了,因为一旦遇到不足,那就加嘛,硬盘 100G 不够,那就加到 500G,内存 4G 不够,那就加到 8G,还不够,那你想要多少嘛,尽量满足你,只是简单几个操作的问题。好吧,扯远了,这里也不准备打广告了,直接看一下当云服务器遇到 Docker 导致根目录满了之后如何处理的问题吧。
解决问题的方式无外乎第一步:添加一个新硬盘,第二步迁移数据。对于云服务来说,都很容易,下面就具体描述一下。
挂载云磁盘
云服务器添加磁盘很容易的,直接从控制面板将磁盘加入主机即可,一般的云服务软件都是支持主机自动识别的,接下来就是主机内部的操作了,我这里用的是 CentOS7,所以步骤中的一些特定命令也是在相应环境下执行的:
使用 fdisk 分区
使用 fdisk 对数据盘进行分区,执行命令
fdisk /dev/vdb。根据提示,依次操作:a. 输入 n,回车。
b. 输入 p,回车。
c. 输入 1,3 次回车。
d. 输入 wq 后,回车,开始创建分区。使用 parted 分区
使用 parted 对数据盘进行分区,执行命令
parted /dev/vdb。根据提示,依次操作如下:a. 输入
mklabel gpt,如果有提示,输入 Y,回车。
b.mkpart primary 0 -1,如果有提示,输入 I,回车。
c. 输入quit,回车,退出parted。格式化新分区。
假设格式化为 "ext4" 格式,则输入命令
$ mkfs.ext4 /dev/sdb1
格式化的时间长短根据云磁盘大小变化,云磁盘越大,格式化时间越长。
挂载磁盘
$ echo '/dev/vdb1 /mnt ext4 defaults 0 0' >> /etc/fstab
$ mount -a
$ df -h
这个时候就可以看到新挂载的磁盘的大小和位置了,这个时候,就可以开始转移 Docker 的数据了。
修改 Docker 位置:
默认情况下docker的存放位置为: /var/lib/docker,一般根下分区我们不会给太大。所以这个时候我们要考虑挂载大分区到 /var/lib/docker,具体的操作步骤如下:
- 停掉 Docker
- 拷贝 Docker 文件到目录
cp -r /var/lib/docker/* /mnt/ - 删除 Docker 原始目录
rm -rf /var/lib/docker - 挂载分区为 Docker 目录:
mount /dev/vdb1 /var/lib/docker - 启动 Docker,使用
docker ps和docker images确定迁移成功
Docker 更改镜像存储位置的更多相关文章
- Docker: 如何修改 Docker 的镜像存储位置
我用的阿里云的服务器, 但是系统盘只有20G, 默认 Docker 的镜像文件是安装在/var/lib 目录下的, 这样的话我根本装不了太多的镜像... 这个必须得改改... 搜了下, 解决方案如下: ...
- Win10 Docker修改镜像存储位置
发生现象: 在windows10下安装docker for windows,随着用docker pull image文件后,C盘的容量越来越小了,你可能也有一种跟我一样的想法,想改变默认的安装路径,本 ...
- windows10 docker镜像存储位置修改
=====================================下面做法无效,无法成功启动docker=================================== 安装Docker ...
- docker修改默认存储位置
前言:我这是默认安装的docker,所以其存放位置是/var/lib/docker,你可以发现是在/下面,之后你用docker 拉取的镜像文件也存放在这下面,这样就很快导致/空间爆满 1.修改配置文件 ...
- Docker 修改默认存储位置
首先使用 docker info 查看 docker 的基本信息 sudo docker info Containers: 0 Images: 5 Storage Driver: devicemapp ...
- linux更改gitlab存储位置
更改仓库存储位置默认时GitLab的仓库存储位置在“/var/opt/gitlab/git-data/repositories”,在实际生产环境中显然我们不会存储在这个位置,一般都会划分一个独立的分区 ...
- Docker】如何修改Docker的默认镜像存储位置
江湖有多大,坑就有多多……我使用的服务器, 系统盘根目录只有20G, 默认Docker 的镜像文件是安装在/var/lib/docker 目录下的, 这样的话我根本装不了太多的镜像,之前遇到一种情况就 ...
- Docker修改默认存储位置(转)
方法一.软链接 默认情况下Docker的存放位置为:/var/lib/docker 可以通过下面命令查看具体位置: sudo docker info | grep "Docker Root ...
- Docker 更改默认存储目录 - 十一
Cemtos 7 Docker 默认目录是 /var/lib/docker docker info 查看 docker 配置信息 更改 docker 默认目录 : 编辑 启动文件: 编辑 /usr/ ...
随机推荐
- MySQL(分组、连表操作、备份数据库)
day58 分组 参考:https://www.cnblogs.com/xp796/p/5262187.html select dept, max(salary) from department gr ...
- 七:MyBatis学习总结(七)——Mybatis缓存
---恢复内容开始--- 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualCache 的 HashMap本地 ...
- iOS开发总结--三方平台开发之微信支付
1.前言 现在很多应用都有支付功能,支付也是开发中比较麻烦的一个部分.其实,最麻烦的部分是商户帐号的审核,如果没有商户帐号,就没有你要给钱的那个对公账户. 2.关于交易 在这个金融类项目的开发中,接触 ...
- 在vue-cli建的vue项目中使用sass
前面已使用vue-cli新建了一个vue项目,参考 使用命令行创建一个vue项目的全部命令及结果 首先看下新建项目的页面和代码,有部分修改,可忽视,如下图: 然后我们在页面添加sass的代码 ...
- git命令上传项目到码云总结
码云上传项目git命令总结: git clone https://git.oschina.net/xh-lxx/xh-lxx.oschina.io.git 进入到克隆下来的文件夹,然后操作git命令 ...
- 解决后台json数据返回的字段需要替换的问题
有时候后台json数据返回的字段含有“id”,也有可能是有时候为了减少代码的冗余,两页面之间只是数据模型个别属性的区别,所以这时候最好是用到模型属性的替换,用新的属性替换返回的json数据的字段.这里 ...
- Java枚举源码分析
1.是一个范型类, 实现了Serializable和Comparable接口 2.只有两个成员变量:name.ordinal 3.枚举类隐含一个values函数,需通过反射调用才可获取枚举实例化对象列 ...
- Git&GitHub学习日志
Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件.作为一个 ...
- Java之集合(二十六)ConcurrentSkipListMap
转载请注明源出处:http://www.cnblogs.com/lighten/p/7542578.html 1.前言 一个可伸缩的并发实现,这个map实现了排序功能,默认使用的是对象自身的compa ...
- Android 开发工具类 31_WebService 获取手机号码归属地
AndroidInteractWithWebService.xml <?xml version="1.0" encoding="utf-8"?> & ...