Docker File Sharing w/Cisco VPN
As I get started on my Docker journey I wanted to start with a simple application to get my feet wet. I chose the classic Example Voting App as it covered a few services, showed Docker Compose and had Kubernetes deployments already in place. When I tried to spin it up I received the following error:
Error starting userland proxy: mkdir /port/tcp:0.0.0.0:32787:tcp:172.22.0.2:6379: input/output error
Searching this specific issue leads in various directions, but then I saw a comment about having issues while on the corporate VPN, namely Cisco AnyConnect. I searched more specifically around that and across a Github issue which spoke directly of the problem. In the midst of the comments the answer is laid out by Julian Di Leonardo.
It turns out that VPN locks down certain address ranges and enforces additional security on them. In my case the Docker network was using one that was locked down by the VPN. If you open Cisco AnyConnect and look at the Route Details tab you can see what is secured/not secured.
In my case the 0.0.0.0/0 range is locked down, which is everything, but there are non-secured routes which are in place to allow some home networking. If I change Docker to exist in one of those non-secured ranges, it should work.
After changing the network range and restarting Docker, everything worked as it should.