简体   繁体   English

从 docker 容器访问网络驱动器

[英]Access a network drive from docker container

How can I access files on a shared network drive from docker container?如何从 docker 容器访问共享网络驱动器上的文件?

I tried:我试过了:

docker run --rm -it --name my_app -v  //shared_drive_name:/opt/local/shared_drive my_app:1.0 /bin/bash

Also I tried method mentioned here: Docker add network drive as volume on windows我也试过这里提到的方法: Docker add network drive as volume on windows

The directory /opt/local/shared_drive is created but empty.目录/opt/local/shared_drive已创建但为空。 I tried different variations of slashes since the host is win and docker running linux.我尝试了不同的斜线变体,因为主机是 win 并且 docker 运行 linux。 I am connected to the VPN from the host to access these drives.我从主机连接到 VPN 以访问这些驱动器。

I have this script for mounting Windows shared folders in Ubuntu Docker container.我有这个脚本用于在 Ubuntu Docker 容器中安装 Windows 共享文件夹。 You have to copy the script in your image.您必须复制图像中的脚本。 Then you should run the container, and after that call these commands:然后你应该运行容器,然后调用这些命令:

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%

For instance:例如:

docker exec container_name /bin/bash /~path to your script~/mount_folder.sh "Admin" somePassword //192.168.7.1/shared_folder /data

Script is (mount_folder.sh):脚本是(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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM