Fix Docker DNS problem

My school blocks DNS request packets to any host except school’s DNS server.
But many Docker image uses 8.8.8.8 and 8.8.4.4 as DNS server.

append --dns a.b.c.d to docker run command fix this problem temporarilly. But this option cannot be used on build command. So I have to use another solution.

Append --dns a.b.c.d to docker daemon command.

# /etc/default/docker
DOCKER_OPTS="--dns a.b.c.d"

Update – 2017-08-20

Just use /etc/docker/daemon.json to do this:

{
  "dns": ["a.b.c.d"]
}

왜 DNS 설정을 바꾸려면 DHCP도 꺼야 할까?

일반 사용자의 편의를 위해서 고급 기능을 숨겨 놓는 것은 충분히 이해를 하지만 고급 기능을 꺼내는 순간부터는 자유롭게 쓸 수 있어야 한다. 내가 사용하는 데스크탑 OS인 Ubuntu에서는 DHCP를 사용하면서 DNS 설정만 수동으로 고정하는 일이 가능한데 안드로이드에서는 DHCP를 끄고 Static IP를 사용하도록 설정해야만 DNS 서버도 수동으로 설정이 가능해진다. 나는 이게 굉장히 비합리적이라고 생각하는데 UI를 봐도 그게 못 넣을 UI는 아니라는 거다.

도메인 구매, DNSEver 사용.

무료 도메인만 써오다가 결국은 kjwon15.net 도메인을 질러버렸다.
HAK5를 보면서 매번 들었던 domain.com에서 HAK5 쿠폰 코드를 적용했더니 6.74 달러로 1년짜리 도메인을 구입할 수 있었다.
그리고 구글 앱스랑 연동을 해야 하는데 다들 DNSEver가 편하다고 해서 한번 써보기로 했다. 1만 쿼리 미만의 사용자는 비용을 청구하지 않는다고는 하지만 서포터즈 프로그램을 신청하면 계속 무료로 이용할 수 있다고 한다.

일단 써보니 DNS 설정을 하기에 굉장히 편했다. 나는 DNS 쿼리만 날리던 입장이라 MX 레코드고 뭐고 잘 몰랐는데 그냥 프리셋을 추가하니 구글 앱스 연동도 잘 되었다. 적용 시간도 빨라서 2~3시간 안에 제대로 뜨는 걸 확인했다. 한국에서 DNS 관리하는 사이트로는 제일 유명하다 못해 이 곳 말고는 본 적이 없을 정도이니 어찌 보면 잘 되는 게 당연할지도 모르겠다.

결론은 DNSEver.com 굉장히 편하다. 화려한 디자인에 목숨을 걸어서 느리기만 하고 사용도 불편한 한국의 일반적인 사이트와는 다르다.

DNSEver