• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > 在Centos7 中更改Docker默认镜像和容器的位置

在Centos7 中更改Docker默认镜像和容器的位置

作者:飞走不可 字体:[增加 减小] 来源:互联网

本文主要包含centos7,docker,docker,centos7,镜像等服务器相关知识,飞走不可 希望可以进行参考

一、Why?

通常,当你开始使用docker时,我们并不太关心Docker 用于存储镜像和容器的默认目录。当使用Docker进行更多实验时,Docker开始占用大量的空间时,你不得不按下紧急按钮。所以现在是时候把故障排除放在如何改变docker的默认存储位置了。费了很大力浏览了许多网站和论坛后,我无法确定在Centos7主机上更改Docker镜像和容器的默认目录的步骤。这篇文章提供了特定于Centos7的说明(它也适用于RHEL7)。对于Debian,我可以找到很多文档和“如何”在互联网上发布相关的文章,但Centos7 没有多少。

二、How?

在试图改变Docker的默认存储位置时,我们必须知道一些重要的信息。

 Docker 当前使用的默认存储位置
 Docker 当前使用的存储驱动程序

 镜像和容器要存放的新存储空间

Docker 默认的位置在/var/lib/docker,当前所有的镜像、容器都存储在这儿。如果你有任何在运行的容器,停止这些容器,并确保没有容器在运行,然后运行以下命令,确定当前Docker使用的存储驱动。(你会在后面的文章中找出为什么要记录它)

# docker info

在输出的信息中,查找Storage Driver那行,并记下它。在我的主机上是devicemapper。下一步是停止Docker 服务

# sudo systemctl stop docker

创建一个Drop-In 文件

下一步是在/etc/systemd/system/docker.service.d 目录下创建一个Drop-In文件“docker.conf”,默认 docker.service.d 文件夹不存在。所以你必须先创建它。

# sudo mkdir /etc/systemd/system/docker.service.d
# sudo touch /etc/systemd/system/docker.service.d/docker.conf

创建Drop-In 文件的原因,是我们希望Docker 服务,使用docker.conf文件中提到的特定参数,将默认服务所使用的位于/lib/systemd/system/docker.service文件中的参数进行覆盖。如果你想深入了解Drop-In,请阅读system.unit文档

定义新的存储位置

现在打开docker.conf增加如下内容:

# sudo vi /etc/systemd/system/docker.service.d/docker.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --graph="/mnt/new_volume" --storage-driver=devicemapper

保存并退出VI编辑器,/mnt/new_volume 是新的存储位置,而devicemapper是当前docker所使用的存储驱动。如果你的存储驱动有所不同,请输入之前第一步查看并记下的值。Docker官方文档中提供了更多有关各种存储驱动器的信息。现在,你可以重新加载服务守护程序,并启动Docker服务了。这将改变新的镜像和容器的存储位置。

# sudo systemctl daemon-reload
# sudo systemctl start docker

为了确认一切顺利,运行 # docker info 命令检查Docker 的根目录.它将被更改为/mnt/new_volume

如果你已经有存在的容器和镜像,该怎么办?

如果你想将现有的容器和镜像迁移到新的位置,在修改docker.conf之后,不要重新加载daemon守护程序和启动docker服务 ,(译者注:在不添加docker.conf文件的方式下,使用软链接的方法进行改变根目录。)将/var/lib/docker 中已存在的数据移动到新的位置里。然后创建一个符号链接。

Note:我没有尝试过以下方式,因为我不需要保留现有的容器和镜像,但这些步骤应该有效;如果你遇到任何问题和其它任何替代的方法请在下方评论。我会修改帖子。在你准备尝试冒险之前,请备份一下你的数据。

# cp -rp /var/lib/docker /mnt/new_volume

创建软链接(译者注:创建软链之前,请先将原/var/lib/docker目录修改为其它名字,如/var/lib/docker-backup)

# mv /var/lib/docker /var/lib/docker-backup-2017-0510
# ln -s /mnt/new_volume/docker /var/lib/docker

然后重新加载 daemon守护程序和 启动 docker服务。(译者注:这里无需重新加载daemon守护程序,只需启动docker 服务即可)

# sudo systemctl daemon-reload
# sudo systemctl start docker

现在已存在的数据应该在软链的源目录内,以及新的容器和镜像将存储在新的位置里,即/mnt/new_volume/docker ,运行 # docker info 进行确认。

(译者注:步骤正确的话,此时根目录应该指向了软链接的源目录 /mnt/new_volume/docker,如下:)

...省略输出
Name: docker
ID: 5WBA:EF4D:WQ7P:DVRN:JCI4:LWDT:XSR2:G7RE:F5TI:PD3B:A57K:E4QA
Docker Root Dir: /mnt/new_volume/docker

...省略输出

 备注:文中有斜体并有横线的字体的意思是原文作者的有误之处(英语不好,如有误解原文之意还请各位大牛及时指出,不吝赐教),相关位置都有注释。

以上所述是小编给大家介绍的在Centos7 中更改Docker默认镜像和容器的位置,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

您可能感兴趣的文章:

  • CentOS7.2下安装docker容器教程
  • docker创建私有镜像仓库搭建教程
  • Docker搭建私有镜像仓库的方法
  • 详解基于Harbor搭建Docker私有镜像仓库
  • centos7系统下搭建docker本地镜像仓库的方法
  • Docker在CentOS7下不能下载镜像timeout的解决办法(图解)
  • 详解docker镜像centos7配置Java运行环境
  • docker 镜像加速CentOS7详细介绍
  • CentOS7.2服务器上搭建Docker私有镜像仓库操作示例
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • VMware14 上安装CentOS 7 图文教程
  • CentOS 7中搭建KVM虚拟化平台的方法步骤
  • CentOS7虚拟机安装并配置docker套件
  • centos7更改docker仓库的方法
  • Centos7下安装与卸载docker应用容器引擎的方法
  • CentOS7.2服务器上搭建Docker私有镜像仓库操作示例
  • VMWare 虚拟机Centos7安装Oracle数据库的教程图解
  • centos7搭建docker私人仓库的方法(kubernetes)
  • CentOS7.2下安装docker容器教程
  • VirtualBox下CentOS7网络配置教程(可连外网)

相关文章

  • Docker安装运行apache2服务器做图片服务器的方法
  • 大数据与云计算令企业网络不堪重负
  • IBM KVM三特点:Linux、虚拟化与开源
  • Centos Docker1.12 远程Rest api访问的配置方法
  • ubuntu14.04+docker的安装及使用
  • Docker 多主机网络通信详细介绍
  • VMware配置虚拟机静态IP地址的方法
  • Vmware安装OpenWrt15.05虚拟机教程
  • docker下修改mysql配置文件的方法
  • docker centos7 安装ssh具体步骤

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • Docker 常用命令整理(实用篇)
    • OpenStack Keystone的基本概念详细介绍
    • VMware 12安装及激活图文教程
    • 虚拟机实现静态IP登录和无线上网
    • Docker学习笔记之k8s部署方法
    • 虚拟化之VMware Workstation 10.0.x安装教程(图文)
    • 不使用sudo 执行Docker命令的方法
    • vitualbox虚拟机安装centos 7 及ssh访问、自启动等配置方法
    • 红帽RHEV虚拟化方案协助长虹集团 高效整合CRM系统
    • 深入理解docker的四种网络方式

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有