UbuntuやDockerの軽量コンテナでnslookupコマンドを実行しようとした際に、インストールされていなかった場合はaptでパッケージ(dnsutils)をインストールします。
(※apt install nslookupではインストールできないので注意が必要です。)
この記事のポイント
- Ubuntu/Dockerの最小環境ではnslookupが初期インストールされていない
- パッケージ名は「nslookup」ではなく
dnsutils - インストール前には必ず
apt updateを実行する apt install -y dnsutilsコマンドで簡単に導入可能
nslookupコマンドとは(用途と特徴)
nslookupは、DNSサーバーにドメイン名やIPアドレスを問い合わせて、名前解決(ドメイン名からIPアドレスへの変換など)のテストやトラブルシューティングを行うためのネットワークコマンドです。
サーバー構築時や、ネットワークの疎通確認などで利用されます。
「nslookup: command not found」エラーの原因と対策
nslookupコマンドを実行して、command not foundのエラーメッセージが出た場合、コマンドが入っていないのでインストールする必要があります。
特にDockerの公式Ubuntuイメージなどの最小構成(Minimal)環境では、初期状態でインストールされていません。
実行コマンド(インストール前)
nslookup google.comエラーメッセージ
bash: nslookup: command not foundインストール前の準備:aptパッケージリストの更新
まず、aptでパッケージリストを更新します。
(特にDockerコンテナの立ち上げ直後は、この更新を行わないとインストールに失敗します。)
sudo apt update※Dockerコンテナ内でrootユーザーとして操作している場合は、sudoを外して実行してください。
Ubuntu/Dockerでのnslookupコマンドインストール手順
nslookupコマンド自体は「nslookup」という単独のパッケージではなく、DNS関連のツールがまとまった dnsutils (新しいUbuntuバージョンでは bind9-dnsutils にエイリアスされています)というパッケージに含まれています。
以下コマンドを実行してインストールします。
実行コマンド(インストール)
sudo apt install -y dnsutils※「E: Unable to locate package nslookup」というエラーが出た場合は、パッケージ名として誤ってnslookupを指定していることが原因です。必ずdnsutilsを指定してください。
nslookupコマンドの動作確認
パッケージのインストール後、動作確認をします。
名前解決の動作確認
実際に適当なドメイン(例:google.com)に対して名前解決ができるか確認します。
nslookup google.com以下のように、使用したDNSサーバーの情報と、該当ドメインのIPアドレス(Address)が返ってくれば成功です。 (DNSサーバーのアドレスは環境によって異なります。)
Server: 127.0.0.53Address: 127.0.0.53#53
Non-authoritative answer:Name: google.comAddress: 142.251.24.139...これで名前解決の確認が可能になりました。
まとめ:nslookupが使えない時のインストール手順
UbuntuやDockerの環境(特に最小構成のイメージ)では、初期状態で nslookup コマンドが含まれていないことがよくあります。
「nslookup: command not found」と表示された場合は、以下の手順で対応しましょう。
apt updateでパッケージリストを最新にするapt install dnsutilsでインストールを実行する(※パッケージ名がnslookupではない点に注意)
インストール後は nslookup ドメイン名 で正しく導入されたか確認するのが確実です。
確認した環境
- Ubuntu 26.04(Docker公式イメージ
ubuntu:latest) - bind9-dnsutils 9.20.18
以上で本記事の解説を終わります。
よいITライフを!
Ubuntuユーザにお勧めの本
人気記事
- 1
- 2
- 3
- 4
- 5
設定の勘所が詳しく解説されている。Ubuntu運用の強い味方になってくれる一冊です。