如何从docker容器访问共享网络驱动器上的文件?
我试过了:
docker run --rm -it --name my_app -v //shared_drive_name:/opt/local/shared_drive my_app:1.0 /bin/bash
我也尝试过这里提到的方法:Docker add network drive as volume on windows目录
/opt/local/shared_drive
已创建但为空。我尝试了不同的斜杠变体,因为主机是win,而docker正在运行linux。我从主机连接到VPN,以访问这些驱动器。
最佳答案
我有此脚本用于在Ubuntu Docker容器中挂载Windows共享文件夹。您必须在图像中复制脚本。
然后,您应该运行容器,然后调用以下命令:
docker exec container_name mkdir -p %shared folder inside docker path%
docker exec container_name /bin/bash /~path to your script~/mount_folder.sh %username% %password% %network_path% %docker_path%
例如:docker exec container_name /bin/bash /~path to your script~/mount_folder.sh "Admin" somePassword //192.168.7.1/shared_folder /data
脚本为(mount_folder.sh):#!/bin/bash
set -e
USERNAME=${1}
PASSWORD=${2}
NETWORK_PATH=${3}
DOCKER_PATH=${4}
mount -t cifs -o rw,username="${USERNAME}",password="${PASSWORD}",vers=3.0,nolock $NETWORK_PATH $DOCKER_PATH
关于linux - 从Docker容器访问网络驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62585036/