From 6c6fadd3cfdb8c041edb33a645279c11aedcade9 Mon Sep 17 00:00:00 2001
From: Adar Nimrod <nimrod@shore.co.il>
Date: Tue, 1 Nov 2016 11:12:31 +0200
Subject: [PATCH] - Added post about resovler.

---
 content/resolver.rst | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 content/resolver.rst

diff --git a/content/resolver.rst b/content/resolver.rst
new file mode 100644
index 0000000..cc404ba
--- /dev/null
+++ b/content/resolver.rst
@@ -0,0 +1,42 @@
+Testing DNS with a clean cache
+##############################
+
+:date: 2016-11-01
+:summary: Testing DNS with a clean cache
+
+Every so often I make changes to a DNS record, test it, find out it's wrong, fix
+it and still get the old response because of caching somewhere along the line.
+After it happened to me and a colleague during a launch of a new version of a
+website, I decided to address the issue. I wanted a way to test DNS quickly and
+easily (preferably locally on command line), for it to be lightweight, doesn't
+require changes to my existing setup and doesn't require learning new tools. I
+decided to create a Docker image that has its own DNS resolver and each new
+container from that image has a clean cache and doesn't depend on other DNS
+servers or is affected from their caching.
+
+Usage
+-----
+
+To create a new container:
+
+.. code:: shell
+
+    docker run -it adarnimrod/resolver
+
+Inside the container you have access to :code:`nslookup`, :code:`dig` and 
+:code:`mail` for testing purposes. If you need to test new changes,
+:code:`exit` the container and create a new one with no cache.
+
+If you want to run just a single command (like getting the MX record for
+:code:`shore.co.il`):
+
+.. code:: shell
+
+    docker run adarnimrod/resovler dig +short shore.co.il mx
+
+How does it work
+----------------
+
+On launch, the container runs and uses its own DNS resolver (in this case NSD).
+This way the OS caching or upstream caching interferes with querying and every
+new container starts with a clean slate.
-- 
GitLab