Docker Community Forums

Share and learn in the Docker community.

Extremely slow bind mounts with Docker Desktop 2.3.0.3 on Windows Server 2019 (1809)

I have a big issue after upgrading Docker Desktop to 2.3.0.3.

Earlier today, my Docker for Windows crashed on a production instance running Windows Server 2019 (1809).
I had absolutely no idea what the issue was so I decided to shutdown Docker completely and restart it.
Once it restarted, it told me an update was available. I noticed a lot of bugfixes and decided it was probably worth it since I hadn’t updated for at least eight months.

After updating, I had a lot of issues with bind mounts and my containers complaining they couldn’t access the files. I added the whole drives to the Docker Desktop “resources/File sharing” setting and rebooted. It still didn’t work and after looking around on the internet, I saw someone mention something about Windows permissions. I decided to simply allow full control to the group “users” for my whole drives. It didn’t fix the issue even after rebooting but after some time it started working again (no idea what happened).

Once all my containers worked, I noticed one of them was extremely slow.
In our setup, we are progressively migrating from a Windows setup to a linux/containerized one. We are using a Windows Server because our CMS only runs on Windows. We use a bind mount in order for our containers to access the 500GB (around 1 000 000 files) of data managed by the CMS.

One of these containers in particular, will try to calculate the size of some directories among those files. For example, a directory containing 3 868 files organized into 8 folders for a total of arount 800MB of data. Nothing too insane there.

Before the Docker upgrade happened, the container did its thing for every directory in about 2 minutes. Handling the specific directory I mentioned above took less than one second overall.

Now that we upgraded Docker, it takes around one hour for the exact same data. For the small directory it takes around 2 minutes. Just performing a readdir (in nodejs) takes 12 seconds. And we only do 20 stats per second at most. Extremely slow, we were very surprised.

I’d like to insist on the fact that we absolutely didn’t change the files at all. The only difference was that we applied “Full control” permission to all of them and updated Docker Desktop to the most recent version (2.3.0.3).

Would someone more experienced have any idea what is causing this odd behavior?
Is there a way to revert to a previous Docker version if no other solution is possible?

I thought that Docker might be performing some checks in order to make sure we access the host’s files properly. If it is the case, is there a way to disable these?

I know my architecture might sound a bit silly but please keep in mind that we are transitioning and I’m doing the best I can given the requirements I need to meet.
I can’t move the CMS into a linux container and the containers need access to those files.

Thanks in advance for reading my message.

Sincerely,
Telokis

1 Like