首页 > 解决方案 > Docker 在运行命令中挂载 CIFS

问题描述

我想挂载一个 CIFS 共享供我的 docker 容器使用。这已经通过显式创建一个 docker 卷来实现,如下所示:

docker volume create --driver local --opt type=cifs --opt o=vers=2.0,username=xxxx,password=xxxx --opt device=//servername/Documents Documents
docker run -i --rm -v Documents:/mnt busybox ls -l /mnt

但是我想防止我必须创建显式卷。由于它对 NFS 卷的工作方式类似,我现在想直接在 docker run 命令中挂载该卷:

docker run -i --rm --mount type=volume,volume-driver=local,dst=/mnt,volume-opt=type=cifs,volume-opt=o=vers=2.0,volume-opt=o=username=xxxx,volume-opt=device=//servername/Documents busybox ls -l /mnt

在这里,我收到“权限被拒绝”错误,这很明显,因为我没有使用密码。如何指定密码?我写东西的所有尝试都产生了不同的错误消息。

docker run -i --rm --mount type=volume,volume-driver=local,dst=/mnt,volume-opt=type=cifs,volume-opt=o=vers=2.0,volume-opt=o=username=xxxx,password=xxxx,volume-opt=device=//servername/Documents busybox ls -l /mnt

给我unexpected key 'password' in 'password=xxxx'

docker run -i --rm --mount type=volume,volume-driver=local,dst=/mnt,volume-opt=type=cifs,volume-opt=o=vers=2.0,volume-opt=o=username=xxxx,volume-opt=o=password=xxxx,volume-opt=device=//servername/Documents busybox ls -l /mnt

给我password=xxxx: invalid argument.

我的感觉是我需要以某种方式逃避逗号,但不知道如何。

标签: dockercifs

解决方案


推荐阅读