`

修改Docker镜像的存储位置

阅读更多
第一种方式:
Docker的镜像以及一些数据都是在/var/lib/docker目录下,它占用的是Linux的系统分区,也就是下面的/dev/vda1,当有多个镜像时,/dev/vda1的空间可能不足,我们可以把docker的数据挂载到数据盘,例如:/dev/vdb目录下。
[root@10-10-63-106 docker]# df -lhT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/vda1      xfs        20G  3.8G   16G  20% /
devtmpfs       devtmpfs  916M     0  916M   0% /dev
tmpfs          tmpfs     921M     0  921M   0% /dev/shm
tmpfs          tmpfs     921M   43M  878M   5% /run
tmpfs          tmpfs     921M     0  921M   0% /sys/fs/cgroup
/dev/vdb       xfs       100G   11G   90G  11% /data
         其中主要的步骤如下:
(1)       首先,备份fstab文件
sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)
(2)       停止docker, 用rsync同步/var/lib/docker到新位置.
        如果rsync没有安装,则使用yum -y intall rsync 进行安装,停止docker ,service docker stop,在数据分区中建立要挂载的目录,mkdir /data/docker 使用rsync工具同步,rsync -aXS /var/lib/docker/.  /data/docker/,这可能需要花费的较长的时间,取决于/var/lib/docker的大小,
(3)       修改fstab
在该文件中把下面一行添加到fstab里,将新位置挂载到 /var/lib/docker
/data/docker /var/lib/docker  none bind 0 0
文件的内如如下:
[root@10-10-63-106 docker]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Jul 31 07:50:13 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/vda1                  /                       xfs     errors=remount-ro 0 1
/swapfile                none                    swap    defaults        0 0
/dev/vdb /data xfs defaults,noatime 0 0
/data/docker /var/lib/docker  none bind 0 0
(4)       重新挂载
mount –a
(5)       使用下面的命令检查一下
   df /var/lib/docker/
Filesystem     1K-blocks  Used Available Use% Mounted on
/dev/vdb       104806400 47204 104759196   1% /var/lib/docker
(6)进入Container查看我们的空间
bash-4.1# df -lhT
Filesystem    Type    Size  Used Avail Use% Mounted on
rootfs      rootfs    9.8G  1.4G  7.9G  15% /
tmpfs        tmpfs    921M     0  921M   0% /dev
shm          tmpfs     64M     0   64M   0% /dev/shm
/dev/vdb       xfs    100G  2.1G   98G   3% /etc/resolv.conf
/dev/vdb       xfs    100G  2.1G   98G   3% /etc/hostname
/dev/vdb       xfs    100G  2.1G   98G   3% /etc/hosts
tmpfs        tmpfs    921M     0  921M   0% /run/secrets
tmpfs        tmpfs    921M     0  921M   0% /proc/kcore
没有更改/var/lib/docker路径之前的情况:
bash-4.1# df -lhT
Filesystem    Type    Size  Used Avail Use% Mounted on
rootfs      rootfs    9.8G  1.4G  7.9G  15% /
tmpfs        tmpfs    921M     0  921M   0% /dev
shm          tmpfs     64M     0   64M   0% /dev/shm
/dev/vda1      xfs     20G   13G  6.9G  66% /etc/resolv.conf
/dev/vda1      xfs     20G   13G  6.9G  66% /etc/hostname
/dev/vda1      xfs     20G   13G  6.9G  66% /etc/hosts
tmpfs        tmpfs    921M     0  921M   0% /run/secrets
tmpfs        tmpfs    921M     0  921M   0% /proc/kcore
宿主机中的分区大小信息:
[root@10-10-63-106 ~]# df -lhT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/vda1      xfs        20G   13G  6.9G  65% /
devtmpfs       devtmpfs  916M     0  916M   0% /dev
tmpfs          tmpfs     921M     0  921M   0% /dev/shm
tmpfs          tmpfs     921M   89M  832M  10% /run
tmpfs          tmpfs     921M     0  921M   0% /sys/fs/cgroup
/dev/vdb       xfs       100G   33M  100G   1% /data

原文出处: http://blog.chinaunix.net/uid-20788636-id-4988546.html

第二种方式:
安装docker之前
cd /edx
mkdir docker
ln -s /edx/docker/ /var/lib/


分享到:
评论

相关推荐

    Docker 修改docker存储位置 修改容器镜像大小限制操作

    不行可以直接软连接去修改存储位置。 vim /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd --graph=/work/docker_data --storage-driver devicemapper --storage-opt dm.loopdatasize=1000G ...

    修改Docker默认镜像和容器的存储位置的方法

    本篇文章主要介绍了修改Docker默认镜像和容器的存储位置的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

    费了很大力浏览了许多网站和论坛后,我无法确定在Centos7主机上更改Docker镜像和容器的默认目录的步骤。这篇文章提供了特定于Centos7的说明(它也适用于RHEL7)。对于Debian,我可以找到很多文档和“如何”在互联网...

    深入浅出Docker:从配置到实战,掌握容器化技术精髓

    可以通过编辑Docker的配置文件(如/etc/docker/daemon.json)来修改守护进程的运行参数,如镜像存储位置、网络设置等。 配置Docker镜像加速器:在中国大陆地区,由于网络原因,拉取Docker镜像可能会比较慢。可以...

    docker中修改镜像容器的存放目录的方法

    在默认情况下,Docker镜像和容器的默认存放位置为: /var/lib/docker 一般根下分区我们不会给太大。镜像和容器越存越多一般我们有两种解决方法: 1. 挂载大分区到/var/lib/docker 一般选择建立逻辑分区lvm,方便后期...

    搭建Harbor镜像仓库:从安装到上传镜像

    它提供了一个安全、可靠、可扩展的镜像仓库解决方案,支持 Docker 镜像的存储和管理。本文将指导您从安装 Harbor 到上传镜像的整个过程。 一、安装环境准备 在开始安装 Harbor 之前,我们需要准备好安装环境。我们...

    docker一键安装hadoop集群

    1. `FROM`: 指定基础镜像,可能是基于 Ubuntu 或 CentOS 的 Linux 发行版,因为它们是常见的 Hadoop 安装基础。 2. `RUN`: 执行命令来安装必要的软件包,如 OpenJDK(Hadoop 需要 Java 运行环境)和 Hadoop 本身。 3...

    Springboot项目打war包docker包找不到resource下静态资源的解决方案

    解决这个问题有多种策略,这里介绍一种通过读取资源文件并将其存储为临时文件的方法: 1. 首先,尝试通过修改Spring Boot的配置文件来解决。可以在`application.properties`或`application.yml`中设置静态资源路径...

    Mysql5.7.38数据库离线安装包

    7. **配置和启动**:安装完成后,你需要配置 MySQL,包括设置 root 用户密码、修改默认安全设置(如 `mysql_secure_installation` 脚本)、启动服务(`sudo systemctl start mysql`)以及设置开机启动(`sudo ...

    详解docker nginx 容器启动挂载到本地

    通过这样的挂载方式,我们可以在本地直接编辑Nginx的配置文件,而无需每次修改后重新构建镜像。这对于开发和调试过程非常方便,同时也可以快速切换不同配置,实现多环境部署。 需要注意的是,当在本地修改配置文件...

    subversion:Apache Subversion的镜像

    Subversion的“镜像”通常指的是一个远程仓库的副本,这个副本可以是完整或者部分的,它能同步到最新状态,以供离线访问、减少网络负载或提供地理位置分散的团队成员共享资源。 在了解如何创建和管理Subversion镜像...

    Docker Compose引用环境变量的方法示例

    通过使用环境变量,你可以轻松地在开发、测试和生产环境中切换配置,而不必修改 `docker-compose.yml` 文件本身。同时,`.env` 文件和 `env_file` 选项提供了更便捷的方式来管理和分发这些变量,进一步增强了 Docker...

    传统应用容器化改造方案.docx

    容器化是将应用“容器化”的过程,就是让应用能够运行在 Docker 容器或类似技术中,它们能将操作系统环境和应用封装在一起(完整的系统镜像)。由于容器能给应用提供近似于完整系统的环境,这就为在不修改,或者少量...

    Odoo开发环境安装说明

    如果需要自定义虚拟机的存储位置,可以通过新建系统环境变量`VAGRANT_HOME`来进行设置。例如,可以在系统环境变量中添加一个名为`VAGRANT_HOME`的新变量,并将其值设为希望存放虚拟机的位置,如`D:\VirtualMachines`...

    phpredis-3.1.3.tar.gz linux下的php的redis扩展

    5. **修改配置文件**:编辑`php.ini`,在适当位置添加`extension=redis.so`(或根据实际情况调整为`extension=mysqli.so`)。 6. **重启服务**:重启PHP-FPM服务,让更改生效。在Docker环境中,可以使用`docker-...

    nexus3.18.1-win64.zip

    - **存储库创建**:支持创建多种类型的存储库,如Maven、npm、Docker等,满足不同项目的需求。 - **依赖管理**:自动管理项目依赖关系,确保版本的一致性,避免冲突。 - **安全检查**:对上传的组件进行安全扫描...

    nexus3.19.0-win64.zip

    你可以根据需求修改默认端口(默认为8081)、数据存储位置等设置。 三、使用 Nexus 3 1. 登录访问:启动 Nexus 服务后,可以通过浏览器访问 http://localhost:8081/nexus/ 来查看和管理 Nexus。默认管理员账号为...

    1456页Linux学习笔记(从入门到进阶).docx

    - **搭建私有Yum仓库**:包括选择合适的存储位置、配置Yum源、创建仓库文件、同步仓库等内容。 - **手动配置epel源**:针对不同的Linux发行版(如CentOS、Ubuntu、Alpine),介绍如何手动配置额外的软件包资源库...

    nexus-3.30.0-01-unix

    2. **选择安装位置**:通常,将解压后的目录移动到 `/opt` 或者其他适合的应用程序目录。 3. **设置运行用户和组**:创建一个专门的用户和组,例如 `nexus`,并修改 Nexus 目录的所有权。 4. **配置启动脚本**:使用...

Global site tag (gtag.js) - Google Analytics