方法一、软链接
默认情况下Docker的存放位置为:/var/lib/docker
可以通过下面命令查看具体位置:
sudo docker info | grep "Docker Root Dir"
解决这个问题,最直接的方法当然是挂载分区到这个目录,但是我的数据盘还有其他东西,这肯定不好管理,所以采用修改镜像和容器的存放路径的方式达到目的。
这个方法里将通过软连接来实现。
首先停掉Docker服务:
systemctl restart docker或者service docker stop
然后移动整个/var/lib/docker目录到目的路径:
mv /var/lib/docker /root/data/dockerln -s /root/data/docker /var/lib/docker
这时候启动Docker时发现存储目录依旧是/var/lib/docker,但是实际上是存储在数据盘的,你可以在数据盘上看到容量变化。
方法二、修改镜像和容器的存放路径
指定镜像和容器存放路径的参数是--graph=/var/lib/docker,我们只需要修改配置文件指定启动参数即可。
Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不一致,在 Ubuntu 中的位置是:/etc/default/docker,在 CentOS 中的位置是:/etc/sysconfig/docker。
如果是 CentOS6 则添加下面这行:
OPTIONS=--graph="/root/data/docker" --selinux-enabled -H fd://
如果是 Ubuntu 则添加下面这行(因为 Ubuntu 默认没开启 selinux):
OPTIONS=--graph="/root/data/docker" -H fd://# 或者DOCKER_OPTS="-g /root/data/docker"
最后重新启动,Docker 的路径就改成 /root/data/docker 了。
centos7下,也可以
修改docker.service文件,使用-g参数指定存储位置
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph /new-path/docker
// reload配置文件
systemctl daemon-reload
// 重启docker
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"}
方法三、system下创建配置文件
在/etc/systemd/system/docker.service.d 目录下创建一个Drop-In文件“docker.conf”,默认 docker.service.d 文件夹不存在。所以你必须先创建它。
创建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-storage-set(docker1.12)命令进行配置
配置文件位置:/usr/lib/docker-storage-setup/docker-storage-setup或者/etc/sysconfig/docker-storage-setup、/etc/sysconfig/docker-storage
vim /etc/sysconfig/docker-storage
# This file may be automatically generated by an installation program.
# Please DO NOT edit this file directly. Instead edit
# /etc/sysconfig/docker-storage-setup and/or refer to
# "man docker-storage-setup".
# By default, Docker uses a loopback-mounted sparse file in
# /var/lib/docker. The loopback makes it slower, and there are some
# restrictive defaults, such as 100GB max storage.
DOCKER_STORAGE_OPTIONS=--graph="要保存的路径"
或者
DEVS=/dev/vdb
DATA_SIZE=800GB(更改docker默认存储大小)
本文出自 “一生志在千里也知似水流年” 博客,转载请与作者联系!
标签:docker
原文地址:http://forangela.blog.51cto.com/9680035/1949947
相关推荐
用户可以通过修改Docker的配置来改变默认的存储位置,从而更好地管理容器数据。 综上所述,Docker作为一种轻量级的容器化解决方案,在企业级应用开发和部署中扮演着至关重要的角色。无论是通过NAT模式进行网络连接...
- 调整配置库的存储位置。 - 更换配置库管理员。 **用户权限管理**: - 分配或撤销用户对配置库的操作权限。 - 设置读写权限。 **组权限管理**: - 对用户组设置统一的访问权限。 #### 五、注意事项 1. **...
1. `path.data`: 指定Elasticsearch数据文件的存储位置。 2. `path.logs`: 设置日志文件的存储路径。 3. `network.host`: 定义Elasticsearch监听的网络接口,可以设置为特定IP或者“_local_”、“_site_”等特殊值。...
- **临时性**:容器内的数据存储默认是临时的,容器消失时数据也随之消失。 - **共享需求**:在一个Pod中运行的多个容器经常需要共享数据存储以确保数据的一致性和安全性。 **Kubernetes存储解决方案**: - **...
3. **修改DAT文件**: 更新DAT文件以包含Realtek 8139网卡驱动程序的相关文件路径和位置。 4. **更新REG文件**: 在REG文件中添加必要的注册表项来支持新添加的网卡驱动程序。 5. **重新编译映像**: 修改完配置文件...
你可以根据需求修改默认端口(默认为8081)、数据存储位置等设置。 三、使用 Nexus 3 1. 登录访问:启动 Nexus 服务后,可以通过浏览器访问 http://localhost:8081/nexus/ 来查看和管理 Nexus。默认管理员账号为...
但是,为了高可用性和性能,建议至少四个或更多节点。 7. **存储策略**:定义默认存储策略,包括数据一致性、I/O 控制、加密等,以满足业务需求。 **vSAN 管理** 1. **监控与警报**:利用 vCenter Server 监控 ...
如果需要自定义虚拟机的存储位置,可以通过新建系统环境变量`VAGRANT_HOME`来进行设置。例如,可以在系统环境变量中添加一个名为`VAGRANT_HOME`的新变量,并将其值设为希望存放虚拟机的位置,如`D:\VirtualMachines`...
2. **批量管理**: manssh支持对多个SSH连接进行批量操作,如批量更新密钥、批量连接等,提高了工作效率。 3. **配置文件**: manssh的配置存储在本地的yaml文件中,易于编辑和版本控制。 4. **命令行交互**: ...
通过上述构建流程与DreamView的详细介绍,我们不仅了解了如何构建一个完整的无人驾驶系统,还掌握了其核心组件的功能与使用方法。未来,随着技术的进步和应用场景的拓展,ROS将继续发挥重要作用,推动无人驾驶技术...
修改 Nexus 3 默认监听的 HTTP 端口号。 - **2.10.3 更改上下文路径** 如果需要在特定的子路径下运行 Nexus 3,可以通过更改上下文路径来实现。 - **2.10.4 配置数据目录** 可以指定 Nexus 3 存储数据的...
etcd 是一个分布式键值存储,用于存储 Kubernetes 的状态。在所有 Master 节点上安装并配置 etcd,配置文件应包含集群成员信息,确保选举超时和心跳间隔设置得当。 ### 第三部分:证书制作 Kubernetes 使用 TLS ...
4. **容器化**:使用Docker等容器技术可以在每个容器内指定特定的软件版本,从而避免版本冲突问题。 #### 六、结论 环境变量的顺序对同一软件不同版本的影响是深远的。为了确保项目的顺利进行和系统的稳定运行,...
- **插入元素**:使用`Next()`方法将指针移动到下一个位置,并插入元素。 - **删除元素**:使用`Unlink(1)`方法删除一个元素。 - **访问元素**:通过索引访问环形缓冲区中的元素。 以下是一个环形缓冲区基本操作的...
2. 房源管理:房源信息录入、修改、删除,支持房源分类、地理位置、价格等多维度查询。 3. 租赁合同:制定租赁合同模板,记录租赁开始和结束日期,租金支付方式等,保障房东和租客权益。 4. 预约看房:用户可预约...
1. 存储库管理:创建、管理和维护不同类型的存储库(如Maven、npm、Docker等)。 2. 镜像代理:可以作为其他远程存储库的代理,提高下载速度。 3. 清理策略:自动清理过期或不再使用的构件,节省存储空间。 4. 安全...
它预设了许多默认配置,使得开发者可以快速地构建独立运行的、生产级别的Java应用。Spring Boot的核心特性包括自动配置、起步依赖和命令行界面等,这些都极大地提高了开发效率。 二、系统架构设计 1. 前端:通常...
- **Session 更新**:修改 Session 数据的操作。 - **Session 销毁**:结束会话的步骤。 **6.3 Session 存储** - **内存存储**:最简单的存储方式。 - **文件存储**:将 Session 数据保存到文件系统中。 - **...
这将在本地启动一个MongoDB服务,默认端口为27017。 #### 七、CRUD操作示例 **数据库DDL操作** 创建/切换数据库: ```sh use truman_test ``` 查询所有数据库: ```sh show dbs ``` 删除数据库: ```sh use ...