I feel like I’m losing my mind. A few days ago, all of my containers running on Docker Desktop on my Windows Server host were working nicely. I had NFS volumes set up on a few of them to reach my synology NAS on my local network, and things were working fine. I’ve done so much digging and tweaking over the last few days, so I can’t be certain where all I’ve broken this connection further, but I woke up one morning and the containers that all had connections to my NAS via NFS volumes were no longer working. I hadn’t restarted my host, I don’t know what changed. Containers like NPM that I had set up for my internal DNS would no longer redirect to any IP that wasn’t within my docker network (for example, I run Plex NOT in a container on my host PC). I had all of my containers on the default bridge network, and now nothing on this docker network can connect to anything on my local network.
I’ve tried setting static routes in my router, changed a lot of configurations, dug through tutorials, guides, and posts all weekend, but I couldn’t make any progress in figuring things out. I’d really appreciate some help on this one, and can provide more details, logs, compose files, when needed. Just don’t want to dump everything at once
Duplicate thread over on reddit https://reddit.com/r/docker/comments/15qaotn/cant_ping_local_network_from_inside_containers/
Edit: For anybody looking for a solution, I bit the bullet and installed proxmox. Running my docker containers on an Ubuntu VM now. Linux Docker seems to be working much better now. I suppose the answer is just “run Docker on a Linux OS,” since Docker on Windows seems to be limited. Plus, it gives me something new to play around with.
You probably won’t like this advice, but switch to Linux. Docker on Windows and MacOS is kind of a hack.
That’s what I’ve been seeing, but I run enough stuff on Windows that has poor support for Linux that makes it a toss-up. Do you think it’s feasible to run Docker on Linux in a Hyper-V container on Windows? I’m really trying to evaluate my options, I’ve considered Proxmox to separate my Windows and Linux stuff; currently I am running an instance of Ubuntu in Hyper-V for my Linux stuff. Do you think Proxmox is more viable?
I go the other way. I have linux installed pretty much just to run docker and qemu running windows with iommu passthrough. The performance hit is negligible, and with
docker context
you can run docker-cli and devcontainers and stuff in the windows vm like native.Hmm, I’ve never looked into qemu. Do you use a GPU in your environment? It passes through to your Windows VM fine?
If using it solely for Docker, I wouldn’t go the Proxmox route. Just install Debian and go from there.
On my host PC (Windows Server), I’m already running a VM in Hyper-V that operates behind a VPN for my *arr environment. I’m worried about resources and resource allocation if I add another VM just for docker. Basically I’m looking at 3 environments - Windows Server for my windows stuff, Debian server for my *arr stuff (this all has to be behind a VPN), and a Linux docker environment. It makes sense to me to go the Proxmox route now that I’ve considered it, don’t you think? Not asking because I’m trying to convince you, just interested in others perspectives.
If you’re running Docker for servers not development, then you can make Hyper-V work. I used to do that before I got a separate Linux server and it worked out.
Just setup a network adapter that gets bridged to your Ethernet adapter, then create a VM that uses that bridged adapter. The Linux VM will appear like its another computer on your LAN and you can use Docker with host Network.