3

I'm really familiar with Docker on Linux but my company's IT department uses Windows. They're interested in converting VM-based services over to Docker so I'm trying to get them set up with a good Windows-based Docker infrastructure.

I've started with a couple containers managed by docker-compose. I would like to use named containers rather than hardcoding paths. For example:

volumes:
  portainer_data:

services:
  portainer:
    image: portainer/portainer:latest
    volumes:
      - portainer_data:/data

They created a 900GB E: drive to hold persistent data. How can I get all the named volumes for all containers to be stored in E:\Volumes?

  • I figure it would make it super easy for them to configure backup. Instead of having to script a bunch of steps using docker cp I could just tell them, "Back up the E: drive". Easy.
  • If I understand Docker Desktop and Hyper-V correctly, volumes are stored inside a MobyLinuxVM. The VM is on the C: drive and only has 48GB to play with.

(Please let me know if there's a better way to tackle this in general. I'm open to frame challenges. Down the road I'd like to add Kubernetes or Docker Swarm to the mix, but one step at a time.)

OS: Windows Server 2019 Datacenter

1

If I understand Docker Desktop and Hyper-V correctly, volumes are stored inside a MobyLinuxVM.

That's right and it seems to be possible to move the whole VM to another drive as described here.

Maybe you could solve you problem by using a volume driver as described in the official docs.

Another approach is to use a Linux VM with Docker and tell your Docker on Windows installation to use another daemon by setting the DOCKER_HOST environment variable. This will give you more control and will allow you to use everything available on Linux (mounting, symbolic links, ...). But of course this will not work if you or your IT department want to use Windows containers some day.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.