好物优选点击查看详情 京东购买

暂无内容

更改docker数据目录

目录

一、背景

二、挂载数据库盘

1、 查看在云上挂载好的100G数据盘

2、 数据盘sdb分区,使用到的分区命令为fdisk

3、 将已做好分区的数据盘格式化为ext4格式

4、挂载数据盘

5、写入开机自动挂载

三、更新docker数据目录

四、删除docker旧存储数据


提示: 更深入的docker优化技巧,镜像加速等内容见:https://blog.csdn.net/weixin_44770684/article/details/130018908https://blog.csdn.net/weixin_44770684/article/details/130018908

一、背景

在生产环境有一个于构建镜像发布的docker服务器,该docker服务器是云主机,系统盘为40G,而docker默认的数据库目录为 /var/lib/docker ,使用的是系统盘做存储,随着时间的推移,该docker服务器存在的已构建的镜像越来越多,需要使用的存储空间也越来越多,导致该docker服务器系统盘没有足够的存储空间。

为了保证docker服务器有更多的存储空间,需要额外挂载一块数据盘到该docker服务器,并且更改该docker数据库目录到数据盘。

二、挂载数据库盘

1、 查看在云上挂载好的100G数据盘

fdisk -l

更改docker数据目录插图1

2、 数据盘vdb分区,使用到的分区命令为fdisk

fdisk /dev/vdb
[root@erp02 ~]# fdisk /dev/vdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0xc227e904. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): First sector (2048-209715199, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): Using default value 209715199 Partition 1 of type Linux and of size 100 GiB is set Command (m for help): p Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0xc227e904 Device Boot Start End Blocks Id System /dev/vdb1 2048 209715199 104856576 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@erp02 ~]#

3、 将已做好分区的数据盘格式化为ext4格式

mkfs.ext4 /dev/vdb1

更改docker数据目录插图2

4、挂载数据盘

mount -t ext4 /dev/vdb1 /data

5、写入开机自动挂载

echo "/dev/vdb1 /data ext4 defaults 0 0" >> /etc/fstab ### 验证挂载已否成功,若是 mount -a 没有报错,说明挂载成功 mount -a 

三、更新docker数据目录

1、更新docker自定义数据目录,建议先停止docker应用,这样子更好的保证数据完整性,在复制过程中就不容易丢失数据。

## 停止 docker应用 systemctl stop docker ## 将docker 数据库目录以及其数据目录的所有数据迁移到新目录 cp -r /var/lib/docker /data/ 

2、修改docker默认数据存储目录配置,在/etc/docker/daemon.json文件添加 以下内容,若是没有/etc/docker/daemon.json文件,则新建该文件

## 新建docker配置文件 touch /etc/docker/daemon.json ## 编辑 配置文件添加 "data-root": "/data/docker" vim /etc/docker/daemon.json 

docker添加内容后见下图

更改docker数据目录插图3

3、重启docker应用

systemctl restart docker

4、确认docker数据储存目录已更改

docker info 

更改docker数据目录插图4

四、删除docker旧存储数据

由于已经将docker的存储数据迁移到新目录,则可以删除旧目录数据,但是我建议将目录数据保留一段时间后再删除,或者将该目录数据备份到其他地方

docker默认数据目录(旧目录): /var/lib/docker

docker自定义数据目录: /data/docker

原文链接:https://blog.csdn.net/weixin_44770684/article/details/126928992?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171836840916800211531517%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171836840916800211531517&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-18-126928992-null-null.nonecase&utm_term=docker%E3%80%81%E5%A5%BD%E7%94%A8

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享