Docker容器到NAS存储

我试图将存储卷装入容器内。 就像linux我给出了下面的命令

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

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

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


如果不禁用Docker提供的一些隔离(否则不可信的应用程序可以挂载主机根文件系统并转义),您将无法从容器内部运行装入命令。 Docker通过从容器内的根用户删除各种功能来防止这种情况发生。

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

  • 在主机上挂载NFS目录,并将主机目录映射到容器中。 这允许您除了在容器内部之外还直接在主机上管理卷。

  • 将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选项从运行命令执行此--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
    
    链接地址: http://www.djcxy.com/p/18249.html

    上一篇: Docker container to NAS Storage

    下一篇: How to make persistent storage with docker