Docker容器到NAS存储
我正在尝试将存储卷装入容器中。 像我给的下面的命令的Linux
**mount 10.#.##.###:/nvol1 /tmp**
这给了“访问被拒绝”的错误,我已经添加了容器和主机IP到存储,以允许来自容器和主机服务器的stream量。 但是我无法在容器中安装存储卷? 我错过了什么? 我正在使用Centos操作系统。
编辑注:我已经成功地将存储挂载到Docker主机,并在主机文件系统和容器之间进行通信。 然而,这个新的testing案例寻求直接将存储卷安装在不在Docker主机上的容器上。
如果不禁用Docker提供的一些隔离(否则不可信的应用程序可以挂载主机根文件系统并转义),您将无法从容器内部运行装入命令。 Docker通过从容器中的根用户删除各种function来防止这种情况。
对于NFS挂载,您通常可以通过以下两种方式之一将其作为卷挂载到容器中:
-
在主机上挂载NFS目录,并将主机目录映射到容器中。 这使您可以在容器内部直接在主机上pipe理卷。
-
将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