首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  Docker

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

  •  
  •   lovejunjie1 · 252 天前 · 2895 次点击
    这是一个创建于 252 天前的主题,其中的信息可能已经有所发展或是发生改变。
    详细情况是这样的,最近用 docker 装了一个 nextcloud,默认装完是跟我 ubuntu 系统同一块硬盘的,太小了。

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

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

    所以我先 su root

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

    docker kill mycloud 也不行。

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

    或者在 docker 容器 run 的状态下把硬盘空间挂上去呀 ?
        1
    lovejunjie1   252 天前
    http://i64.tinypic.com/28rukg.jpg
    补一个截图,这里面有我尝试的命令还有报错信息
        2
    pipixia   252 天前 via Android
    docker rm -f 强制移除
        3
    002jnm   252 天前 via Android
    docker compose
        4
    andylsr   252 天前 via Android
    试一下重启 docker,然后重新 run
        5
    hilbertz   252 天前
    把 AppArmor 关掉
        6
    momocraft   252 天前
    可以把现在的 container 做成 image (docker commit),重新 run

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

    最后可以学习一下 docker-compose 管理,就不用每次改参数重新删除在 run 了
        13
    BlackHole1   251 天前 via Android
    直接 docker rm -f 强制删除,重新 run 一个就好
        14
    lovejunjie1   251 天前
    @hilbertz 感谢提醒,关掉了 apparmor 之后可以正确 stop 和 rm 了


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


    @shingle 谢谢大佬提供的帮助,我用笨办法实现了我的效果。不过我也觉得有必要学习一下 compose 的用法。感谢感谢
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4314 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 34ms · UTC 08:52 · PVG 16:52 · LAX 00:52 · JFK 03:52
    ♥ Do have faith in what you're doing.