阿泉的博客

记录生活点滴

linux的docker 扩容,解决容量不够

扩容


可以新建一个目录

mkdir /mnt/1T

然后把U盘挂载到这个目录

mount /dev/sda1 /mnt/1T


查看u盘UUID


# 举例

blkid /dev/sda1

 修改配置文件,在/etc/fstab后追加


# 例子,

uuid和路径改成自己的 UUID=40f62f3f-38bc-4918-bce1-787faa839263   /mnt/1T/   ext4    defaults    0 2

上面的2是挂在顺序

挂载目录修改权限


chmod -R 777 /mnt/1T. 重启


reboot -n


检查


挂载目录下存在lost+found目录即为成功 

 


接着迁移docker


先暂停docker


service docker stop

这里遇到直接停止docker会自动重启/断连,主要是docker下的OenCloud容器造成,所以先把所有容器都设为不自动启动docker container update --restart=no [容器ID] 再reboot后就能正常暂停docker服务了


之后在U盘挂载的目录新建一个文件夹

mkdir /mnt/1T/docker/

然后把docker的文件都迁移到/mnt/1T/docker/目录中


命令为:

rsync -avz /var/lib/docker/ /mnt/1T/docker/

之后编辑 /etc/docker/daemon.json 配置文件,如果没有这个文件,那么需要自己创建一个,根据上面的迁移目录,基础配置如下:

{ "data-root": "/mnt/1T/docker/"}


将容器服务启动起来


把原来设为不自动启动docker container update --restart=no [容器ID] 的no改回always


service docker start


这样子之后你在docker安装的所有东西都会安装在U盘里


如果报错,记录一下


报:Failed to start Docker Application Container Engine.

原因是/etc/docker/daemon.json新建内容不对,导致docker的daemon服务没起来


修改下/etc/docker/daemon.json就好增加registry-mirrors

{

   "data-root": "/mnt/1T/docker/",

    "registry-mirrors": [

        "http://hub-mirror.c.163.com",

        "https://registry.docker-cn.com"

    ]

}

再重启一下docker


systemctl daemon-reload


systemctl restart docker


Powered By Z-BlogPHP 1.7.4