gpt4 book ai didi

Docker 容器到 NAS 存储

转载 作者:行者123 更新时间:2023-12-02 18:09:42 25 4
gpt4 key购买 nike

我正在尝试将存储卷安装到容器内。就像 linux 我给了下面的命令

**mount 10.#.##.###:/nvol1 /tmp**

这会产生“访问被拒绝”错误,我已将容器和主机 IP 添加到存储中以允许来自容器和主机服务器的流量。但是我不能在容器中安装存储卷?我错过了什么吗?我正在使用 Centos 操作系统。

编辑注意:我已经成功地将存储挂载到 Docker 主机,并在主机文件系统和容器之间建立了通信。然而,这个新的测试用例寻求直接将存储卷安装在容器上,而不是在 Docker 主机上。

最佳答案

如果不禁用 docker 提供的某些隔离功能,您将无法从容器内部运行挂载命令(否则不受信任的应用程序可能会挂载主机根文件系统并逃逸)。 Docker 通过从容器内的根用户中删除各种功能来防止这种情况。

对于 NFS 挂载,您通常会通过以下两种方式之一将其作为卷挂载到容器中:

  1. 在宿主机上挂载NFS目录,并将宿主机目录映射到容器中。这使您可以直接在主机上管理卷,而不是在容器内部。

  2. 将 NFS 目录作为卷直接安装到容器中。

对于选项 2,您可以使用以下内容定义音量:

$ docker volume create --driver local \
--opt type=nfs \
--opt o=addr=10.1.23.123,rw \
--opt device=:/nvol1 \
nvol1

$ docker run -v nvol1:/tmp your_image

编辑:要跳过 docker volume create 步骤,您可以通过带有 --mount 选项的运行命令执行此操作:

$ docker run -it --rm \
--mount type=volume,dst=/container/path,volume-driver=local,volume-opt=type=nfs,volume-opt=o=addr=192.168.1.1,volume-opt=device=:/host/path \
foo

关于Docker 容器到 NAS 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44632349/

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