Given the general Docker hype and the clear signals that as an industry containerization adoption will continue becoming more widespread, I decided to take Docker for another spin after several years ignoring it completely and begin fiddling with Sitecore Docker Images.
Sticking closely to the quick start guide on the community-driven Sitecore Docker Images repository - I ran into one snag:
curl: (6) Could not resolve host: dist.nuget.org
curl: (6) Could not resolve host: download.microsoft.com
curl: (6) Could not resolve host: aka.ms
curl: (6) Could not resolve host: www.7-zip.org
curl: (6) Could not resolve host: download.microsoft.com
curl: (6) Could not resolve host: aka.ms
curl: (6) Could not resolve host: www.7-zip.org
The \docker-images\windows\9.0.2\sitecore-assets\Dockerfile itself only confirmed that a simple curl command initializes the download process from several hard-coded sources:
After some Googling, I found a post - Fix Docker's networking DNS config -by @nottrobin which outlined a similar error.
The key takeaway: this happens "usually because DNS lookups are failing in Docker images".
Their recommendation is to "change the DNS settings of the Docker daemon" by adding a new configuration file to /etc/docker/daemon.json - which I couldn't find. Given that I'm using a Windows 10 machine and @nottrobin was using Linux, my guess is that there are path differences here.
I ended up modifying the following file:
C:\ProgramData\Docker\config\daemon.json
And adding a new "dns" parameter (pointing to Google's public 8.8.8.8 DNS)
After saving and restarting Docker, the 'Could not resolve host' error no longer killed the build process. 🥳