Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Docker add network drive as volume on windows

I am trying to mount a network drive as a volume. This is the command I am trying

docker run -v //NetworkDirectory/Folder:/data alpine ls /data

I am running this command on windows and the data directory is coming up empty. How can I mount this network directory as a volume on the windows host and access it inside the container?

Working with local directories works just fine, so the following command works as expected.

docker run -v c:/Users/:/data alpine ls /data

I can make it work in linux since I can mount the share with cifs-utils on a local directory and use that directory as the volume.

Edit: Looks like this is not possible: How to mount network Volume in Docker for Windows (Windows 10)

like image 931
Salmaan P Avatar asked May 08 '18 17:05

Salmaan P


People also ask

How do I add a network to a Docker container?

If you want to add a container to a network after the container is already running, use the docker network connect subcommand. You can connect multiple containers to the same network. Once connected, the containers can communicate using only another container's IP address or name.


1 Answers

My colleague came up with this and it works with our company network drive and it might help someone out there.

We start by creating a docker volume named mydockervolume.

docker volume create --driver local --opt type=cifs --opt device=//networkdrive-ip/Folder --opt o=user=yourusername,domain=yourdomain,password=yourpassword mydockervolume
  • --driver specifies the volume driver name
  • --opt Sets driver specific options. I guess they are given to the linux mount command when the container starts up.

We can then test that the volume works with
docker run -v mydockervolume:/data alpine ls /data

Here you can read more about driver specific options and docker volume create

like image 155
Marcus Alsterman Avatar answered Oct 06 '22 01:10

Marcus Alsterman