linux - 从Docker容器访问网络驱动器

标签 linux windows docker dockerfile network-drive

如何从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/

相关文章:

linux - Oprofile 警告 "could not check that the binary file"

windows - 在 Maven 构建期间以管理员身份运行批处理脚本

postgresql - 如何从外部主机连接到使用 docker-compose 创建的 postgres

java - Docker 卷不保存

Java:如何让 File.listOfFiles 在 Linux 上非递归工作?

linux - 将 laravel 项目部署到服务器?

c++ - Windows 中的 strptime?

docker - 在我的 docker 上运行 ActiveMQ Artemis,特别是在 mac M1 上

linux - 如何在 lampp 上设置多个子域?

windows - hMailServer 只在第一次回复