Hello

On 31.08.2016 23:05, Baptiste wrote:
> I have one question for you guys.
> If I want to setup a lab on my computer, what would be the fastest way to
> build it?
> I mean, running docker on my laptop does not seem to be sufficient and I
> don't really understand what would the bear minimum setup.
> If you could help me on this point, I'll appreciate it a lot!

You mean for testing the DNS responses? Personally I'm running Knot
inside a Docker container, it is very easy to manage it's zones
programmatically and it's probably the simplest solution for you. I just
open sourced the Dockerfile I built on GitHub:

https://github.com/TimWolla/dockerdns-knot

You would build the image like this:

$ make
*snip*

You would run the image like this:

$ docker run -it --rm --name knot -e KNOT_ZONE=docker.example.com -v
/tmp/knot/:/var/lib/knot/ timwolla/knot
*snip*

Afterwards you can retrieve the IP address of the nameserver like this:

$ docker inspect -f "{{range .NetworkSettings.Networks }}{{ .IPAddress
}}{{ end }}" knot
172.17.0.2

And then change records like this, using knotc
(https://www.knot-dns.cz/docs/2.x/html/operation.html#reading-and-editing-zones):

$ docker exec knot knotc zone-begin docker.example.com
OK
$ docker exec knot knotc zone-set docker.example.com test 60 A 127.0.0.1
OK
$ docker exec knot knotc zone-commit docker.example.com
OK
$ dig +short @172.17.0.2 A test.docker.example.com
127.0.0.1

You can get a root shell inside the container like this:

$ docker exec -it knot bash

Best regards
Tim Düsterhus

Reply via email to