ping 또는 바인딩 유틸리티를 사용하지 않고 슬림 호스트(docker)에서 원격 호스트 DNS 주소를 얻는 방법은 무엇입니까?

ping 또는 바인딩 유틸리티를 사용하지 않고 슬림 호스트(docker)에서 원격 호스트 DNS 주소를 얻는 방법은 무엇입니까?

ping도 없고 바인딩 유틸리티(dig, nslookup 등)도 없는 경우 원격 호스트 IP 주소를 어떻게 얻나요?

"X 설치" 또는 "사이드카 컨테이너 사용"이 포함되지 않은 답변이 필요합니다. bash와 기본 쉘 명령에만 의존하는 것을 찾고 있습니다.

답변1

사용 getent:

$ getent hosts unix.stackexchange.com
151.101.193.69    unix.stackexchange.com  unix.stackexchange.com

답변2

"현대적인" 시스템에서는 systemd-resolve.

매뉴얼 페이지에서:

systemd-resolve는 systemd-resolved.service(8) 확인자 서비스를 통해 도메인 이름, IPv4 및 IPv6 주소, DNS 리소스 레코드, 서비스를 확인하는 데 사용할 수 있습니다. 기본적으로 지정된 매개변수 목록은 호스트 이름으로 확인되어 IPv4 및 IPv6 주소를 검색합니다. 지정된 매개변수 형식이 IPv4 또는 IPv6 작업인 경우 반대 작업이 수행되고 지정된 주소의 호스트 이름이 검색됩니다.

getent는 DNS 쿼리를 수행하지만 nsswitch.confDNS 쿼리를 수행하지 못할 수도 있습니다. --type모든 유형의 DNS 레코드 유형에 액세스하는 옵션을 전달할 수도 있습니다 .

관련 정보