请教一下 docker 大佬,如何给一个正在运行的 docker 容器挂上我宿主机的一块硬盘分区?

2019-04-03 11:21:03 +08:00
 lovejunjie1
详细情况是这样的,最近用 docker 装了一个 nextcloud,默认装完是跟我 ubuntu 系统同一块硬盘的,太小了。

我想把我一张空的机械硬盘(已经 mount 到了 /mnt/dataStore 上了),挂给 docker 里我 nextcloud 的容器(容器名字叫 mycloud )上。

于是我看到有-v 的指令。似乎是可以用的。

所以我先 su root

准备把 docker 的容器 stop 掉。但是说权限不够,拒绝操作。

docker kill mycloud 也不行。

所以求助一下各位大佬,有没有什么办法停掉 docker 的这个容器,让我重新 docker run -v 一下。

或者在 docker 容器 run 的状态下把硬盘空间挂上去呀 ?
6123 次点击
所在节点    Docker
14 条回复
lovejunjie1
2019-04-03 11:28:25 +08:00
http://i64.tinypic.com/28rukg.jpg
补一个截图,这里面有我尝试的命令还有报错信息
pipixia
2019-04-03 11:54:04 +08:00
docker rm -f 强制移除
002jnm
2019-04-03 12:08:12 +08:00
docker compose
andylsr
2019-04-03 12:12:50 +08:00
试一下重启 docker,然后重新 run
hilbertz
2019-04-03 12:13:55 +08:00
把 AppArmor 关掉
momocraft
2019-04-03 12:25:15 +08:00
可以把现在的 container 做成 image (docker commit),重新 run

你还需要考虑现在的数据怎样转移等问题
liwufan
2019-04-03 12:41:05 +08:00
apt upgrade 然后重启一下试试
lovejunjie1
2019-04-03 12:43:24 +08:00
@pipixia @002jnm @andylsr @hilbertz @momocraft 感谢各位,我先从能保持容器的建议开始尝试一下
RickyHao
2019-04-03 12:44:26 +08:00
我记得 docker 好像是不能给已有容器附加 volume 的(也许是我不知道)
推荐用 nextcloud 的官方镜像,把配置目录、data 目录和一些它推荐挂载的目录挂载出来,然后每次升级只要更新镜像重建容器就行了,配置和数据不会丢。
[刚好之前写了个教程]( https://rickyhao.com/2019/01/13/使用 docker 快速搭建 nextcloud/)
lovejunjie1
2019-04-03 12:47:55 +08:00
@002jnm docker compose 之前有了解过一下。目前知道了文件应该放在哪里,docker compose 也装好了。还不知道如何编,和怎么用……目前还没研究明白
lovejunjie1
2019-04-03 12:48:54 +08:00
@RickyHao 噢!!!谢谢大佬,感谢大佬的分享精神。
shingle
2019-04-03 13:12:17 +08:00
如果你之前 docker run 时没有挂载任何数据,你可以先用 docker cp 命令把数据文件夹拷贝到宿主机,具体哪些数据文件夹
nextcloud 的官方镜像里有说明哪些是持久数据需要挂载的
https://hub.docker.com/_/nextcloud#persistent-data

最后可以学习一下 docker-compose 管理,就不用每次改参数重新删除在 run 了
BlackHole1
2019-04-03 17:55:33 +08:00
直接 docker rm -f 强制删除,重新 run 一个就好
lovejunjie1
2019-04-03 23:25:02 +08:00
@hilbertz 感谢提醒,关掉了 apparmor 之后可以正确 stop 和 rm 了


@BlackHole1 谢谢指导,已经 run 了一个新的了。旧的也成功 rm 掉了


@shingle 谢谢大佬提供的帮助,我用笨办法实现了我的效果。不过我也觉得有必要学习一下 compose 的用法。感谢感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/551581

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX