gpt4 book ai didi

docker 音量超过 fuse : Transport endpoint is not connected

转载 作者:行者123 更新时间:2023-12-02 18:00:40 24 4
gpt4 key购买 nike

所以我有这个远程文件夹 /mnt/shared装有 fuse 。它大部分可用,但不时会有一些断开连接。

实际挂载的文件夹 /mnt/shared重新连接时再次可用。

问题是我将此文件夹放入 docker 卷中以使其可用于我的应用程序:/shared .当我启动容器时,该卷可用。

但是如果两者之间发生断开连接,而 /mnt/shared主机上的 repo 可用,/shared无法从容器访问文件夹,我得到:

user@machine:~$ docker exec -it e313ec554814 bash
root@e313ec554814:/app# ls /shared
ls: cannot access '/shared': Transport endpoint is not connected

为了让它再次工作,我找到的唯一解决方案是 docker restart e313ec554814 ,这会给我的应用程序带来停机时间,因此不是一个可接受的解决方案。

所以我的问题是:
  • 这是否是一个 docker“错误”,当它再次可用时不会重新连接到已安装的文件夹?
  • 我可以手动执行此任务,而不必重新启动整个容器吗?

  • 谢谢

    最佳答案

    我会尝试以下解决方案。
    如果您像这样将卷挂载到您的 docker:

    docker run -v /mnt/shared:/shared my-image
    我会创建一个中间目录 /mnt/base/shared并将其安装到 docker 上,如下所示:
    docker run -v /mnt/base/shared:/base/shared my-image
    我还将调整我的代码以引用新路径或从 /base/shared 创建链接至 /shared容器内
    说明:
    问题是挂载目录 /mnt/shared可能会在主机上删除,当断开连接并在连接恢复后创建新目录时。但是,容器开始运行已删除的旧目录的目录映射。通过创建一个中间目录并映射到它,您可以避免此映射问题。

    关于docker 音量超过 fuse : Transport endpoint is not connected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61612277/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com