Moby: resolv.conf ํ•ด๋‹น ํŒŒ์ผ์ด ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2014๋…„ 03์›” 26์ผ  ยท  17์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: moby/moby

์ด ๊ฐ€์ด๋“œ์—์„œ ์šฐ๋ถ„ํˆฌ 12.04์— ๋„์ปค๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฉ๊ธˆ ๋– ๋‚ฌ์Šต๋‹ˆ๋‹ค.
http://docs.docker.io/en/latest/installation/ubuntulinux/
๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” ์ด๊ฒƒ์„ ์–ป์—ˆ๋‹ค

โžœ ~ sudo docker run -i -t ubuntu / bin / bash
2014/03/26 11:45:17 ์˜ค๋ฅ˜ : /etc/resolv.conf ์—ด๊ธฐ : ํ•ด๋‹น ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์–ด๋–ค ์ œ์•ˆ?

arenetworking kinbug

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉฐ ๋ฐฐํฌํŒ ์ธ Sabayon Linux์—์„œ NetworkManager ๊ตฌ์„ฑ์˜ ๋ถ€์ž‘์šฉ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ œ ๊ฒฝ์šฐ์—๋Š” /etc/resolv.conf๋Š” /etc/resolvconf/run/resolve.conf์— ๋Œ€ํ•œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ์ด๋ฉฐ NetworkManager๊ฐ€ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋œ ํ›„์— ๋งŒ โ€‹โ€‹์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด Docker๊ฐ€ ๋ถ€ํŒ…์‹œ ์‹œ์ž‘๋˜์ง€ ์•Š์ง€๋งŒ ๋กœ๊ทธ์ธํ•˜๊ณ  ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  17 ๋Œ“๊ธ€

ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. /etc/resolv.conf ๋งŒ๋“ค๊ณ  ์ ์ ˆํ•œ DNS ์ •๋ณด๋กœ ์ฑ„์šฐ๊ณ  ๋ช…๋ น์„ ๋‹ค์‹œ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค.

์ด๊ฒƒ์€ Docker ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹ˆ๋ฉฐ ํ˜ธ์ŠคํŠธ์— /etc/resolv.conf๊ฐ€ ์—†์–ด์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ์— resolv.conf๊ฐ€ ์—†์„ ๋•Œ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Linux ์‹œ์Šคํ…œ์„ ์ˆ˜์ •ํ•˜์‹ญ์‹œ์˜ค.

IMHO ํŒŒ์ผ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ๋”ฐ๋ผ์„œ OS๊ฐ€ ์†์ƒ๋˜์–ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค.
http://man7.org/linux/man-pages/man5/resolv.conf.5.html

์ด ํŒŒ์ผ์ด ์—†์œผ๋ฉด ๋กœ์ปฌ ์ปดํ“จํ„ฐ์˜ ์ด๋ฆ„ ์„œ๋ฒ„ ๋งŒ ์ฟผ๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ DNS ์„œ๋ฒ„๊ฐ€ ๋กœ์ปฌ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰ ์ค‘์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉฐ ๋ฐฐํฌํŒ ์ธ Sabayon Linux์—์„œ NetworkManager ๊ตฌ์„ฑ์˜ ๋ถ€์ž‘์šฉ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ œ ๊ฒฝ์šฐ์—๋Š” /etc/resolv.conf๋Š” /etc/resolvconf/run/resolve.conf์— ๋Œ€ํ•œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ์ด๋ฉฐ NetworkManager๊ฐ€ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋œ ํ›„์— ๋งŒ โ€‹โ€‹์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด Docker๊ฐ€ ๋ถ€ํŒ…์‹œ ์‹œ์ž‘๋˜์ง€ ์•Š์ง€๋งŒ ๋กœ๊ทธ์ธํ•˜๊ณ  ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

@OOPMan init ์Šคํฌ๋ฆฝํŠธ์—์„œ

๋˜ํ•œ ์ด๊ฒƒ์ด ์—…์ŠคํŠธ๋ฆผ Go (ํŠนํžˆ "netgo") ๋ฌธ์ œ์ธ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ resolv.conf๋ฅผ ์ง์ ‘ ํ™•์ธํ•ฉ๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด netgo ๊ตฌํ˜„์„ ํ†ตํ•ด ๊ฐ„์ ‘์ ์œผ๋กœ ๋งŒ ํ™•์ธํ•ฉ๋‹ˆ๊นŒ?

๋‚ด ๋ฌธ์ œ๋Š” NM ๋˜๋Š” Sabayon Linux์™€ ๊ด€๋ จ์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. :-)

Asus X550CC์—์„œ ์‹คํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. ์ „๋ฐ˜์ ์œผ๋กœ ๊ดœ์ฐฎ์€ ๋จธ์‹ ์ด์ง€๋งŒ ํ•œ ๊ฐ€์ง€์ฃผ์˜ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. Linux์—์„œ๋Š” ์ž ์ž๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•  ๋•Œ๊นŒ์ง€ Wi-Fi ํ•˜๋“œ์›จ์–ด๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ถ€ํŒ…์‹œ ์œ ์„  LAN์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ์‹œ์Šคํ…œ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๋„คํŠธ์›Œํฌ๊ฐ€ ์—†๋‹ค๊ณ  ํŒ๋‹จํ•˜๋ฏ€๋กœ /etc/resolv.conf์— ์•„๋ฌด๊ฒƒ๋„ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Docker๋Š” ์ด๊ฒƒ์„ ์ข‹์•„ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์‹œ์ž‘ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

์ผ์‹œ ์ค‘์ง€-์žฌ๊ฐœํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ด๋ฉฐ Docker๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

@unclejack @crosbymichael ์˜ค๋Š˜ ๋„์ปค ๋ฒ„์ „ 1.12.6 ์—์„œ์ด ๋ฌธ์ œ๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
/etc/resolv.conf๊ฐ€ Docker ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ด๊ฒƒ์— ๋Œ€ํ•œ ์ข‹์€ ๋Œ€๋‹ต์ด ์—†์—ˆ๋˜ ๊ฒƒ ๊ฐ™์•„์š”. ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋„ ์ด๊ฒƒ์„ ๊ฒฝํ—˜ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. @thaJeztah ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž๋ฅผ ํ•‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ด ์‹œ์ ์—์„œ ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘์ด ๋„คํŠธ์›Œํฌ์— ์˜ํ•ด ๊ฒŒ์ดํŠธ๋˜๋Š” ์ด์œ ๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค (resolv.conf ํŒŒ์ผ์ด์—†๋Š” ๊ฒฉ๋ฆฌ ๋œ ๋จธ์‹ ์ด ์žˆ์ง€๋งŒ ์–ด์จŒ๋“  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค)

resolv.conf ๋งค๋‰ด์–ผ (glibc์—์„œ ์ œ๊ณต)์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

   If this file does not exist, only the name server on the local
   machine will be queried; the domain name is determined from the
   hostname and the domain search path is constructed from the domain
   name.

๋”ฐ๋ผ์„œ resolv.conf๊ฐ€์—†๋Š” Linux ์‹œ์Šคํ…œ์€ ์œ ํšจํ•œ Linux ์‹œ์Šคํ…œ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

golang์˜ DNS resolv.conf ๋กœ๋”ฉ ๋กœ์ง๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ˆ„๋ฝ๋˜๊ฑฐ๋‚˜ ์•ก์„ธ์Šค ํ•  ์ˆ˜์—†๋Š” resolv.conf๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. https://golang.org/src/net/dnsconfig_unix.go

๋˜ํ•œ nss-resolve ๋˜๋Š” winbind, ldap ๋“ฑ๊ณผ ๊ฐ™์€ libc๊ฐ€ ์•„๋‹Œ NSS ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋Š” ์‹œ์Šคํ…œ์—์„œ๋Š” resolv.conf๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

/ cc @sanimej

์ด ๋ฒ„๊ทธ๋Š” ๋˜ํ•œ ์ผ๋ถ€ ๋ฐฐํฌ์—์„œ Docker๋ฅผ ์˜คํ”„๋ผ์ธ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜์ • ์‹œ๋„ : https://github.com/docker/libnetwork/pull/1847

๊ทธ ์ž๋ฆฌ์— ๋นˆ ํŒŒ์ผ ์ด๋ฆ„ 'resolv.conf'๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค ~

์ด์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์ด https://github.com/moby/moby/commit/1ddeb11835600127a3319fc0dd3764e57ffbf521์„ ํ†ตํ•ด ๋ณ‘ํ•ฉ๋˜์—ˆ์œผ๋ฉฐ ๋‹ค๊ฐ€์˜ค๋Š” 17.10 ๋ฆด๋ฆฌ์Šค์— ํฌํ•จ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. https://github.com/docker/docker-ce/blob/17.10/components/engine/vendor/github.com/docker/libnetwork/sandbox_dns_unix.go

์ข…๋ฃŒ, ์ด๊ฒƒ์€ ๋งˆ์Šคํ„ฐ ๐Ÿ‘์—์„œ ํ•ด๊ฒฐ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰