云服务器挂载的数据盘和docker的关系

购买腾讯云服务器默认送的系统盘是50G,我同时购买了个200G的数据盘,并且挂载在 /data/extdisk 目录下。这个服务器上直接安装了 mysql5.7(没有使用docker安装),然后使用docker安装了nextcloud。现在有个问题,创建的 nextcloud 容器在50G的系统盘上 ,导致上传了N个文件后系统盘满了,但是没有用到200G的数据盘,我要如何能创建 nextcloud 容器时创建到目录 /data/extdisk 下,进而使用过200G的数据盘。看下图是服务器参数的展示
云服务器挂载的数据盘和docker的关系

回答

两种方式。

一是修改 /etc/docker/daemon.json,变更 data-root 参数(v1.12 版本之前是 graph 参数),这个参数的默认值是 /var/lib/docker,里面存放了所有你下载过的镜像、启动过的容器、持久化的数据(overlay2),日积月累就会很大,直接挪走,一劳永逸。

二是容器启动时指定 -v,把数据卷挂载到别的地方(没用过 nextcloud,你自己看下官方文档都有哪些路径可以挂载吧)。但这只影响你指定挂载的那些路径下的文件,你没指定的还是会存储到上面说的那个参数指定的路径下面去。

P.S. 如果已经运行的容器之前没挂载过数据卷、想重新挂载但还要保留里面的数据,要么 docker cp 拷贝出来再重新运行一个新容器,要么 docker commit + docker save 创建一个快照镜像之后重新运行,具体怎么做你可以自己搜一下。

你部署 nextcloud 的时候没有搞卷映射吗?映射到第二个盘就好了.

改一下 "data-root" ,比如在 /etc/docker/daemon.json 里。

https://docs.docker.com/engin...

以上是 云服务器挂载的数据盘和docker的关系 的全部内容, 来源链接: utcz.com/a/79797.html

回到顶部