軽量で人気があるLinuxディストリビューション「Alpine Linux」。
Dockerコンテナや小型サーバーで使う方が増えていますが、最初につまずきやすいのが「IPアドレスの確認方法」です。
DebianやCentOSと少しコマンドの挙動が違うため、慣れていないと「どのコマンドでIPを調べればいいの?」と戸惑うかもしれません。
この記事では、Alpine LinuxでのIPアドレス確認方法をわかりやすく説明し、さらにネットワークトラブルの簡単な切り分け方まで紹介します。
Alpine LinuxでIPアドレスを確認する基本コマンド

ipコマンドが標準の確認方法
Alpine Linuxでは、標準でiproute2
パッケージがインストールされており、ifconfig
は入っていないことが多いです。
そのため基本的にはip
コマンドを使用します。
実際のコマンド例
ip addr
または短縮形で:
ip a
このコマンドを実行すると、ネットワークインターフェースの情報が一覧で表示されます。
出力例の見方
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.1.5/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
この出力で重要なのは、inet
に続く192.168.1.5
の部分です。これがそのインターフェースのIPアドレスになります。
特定のインターフェースのみを確認する方法
すべてのインターフェースではなく、特定のものだけを見たい場合は次のコマンドを使います:
ip addr show eth0
eth0
の部分は、環境によってens3
やwlan0
などに変わる場合があります。
ifconfigコマンドを使用する方法
ifconfigはデフォルトでは利用できない
他のLinuxディストリビューションでよく使われるifconfig
コマンドは、Alpine Linuxではデフォルトでインストールされていません。
BusyBox版の簡易的なものが入っている場合もありますが、詳細な情報を得るにはnet-tools
パッケージをインストールする必要があります。
net-toolsのインストール方法
apk add net-tools
インストール後は、従来のLinuxと同様に使用できます:
ifconfig
または特定のインターフェースのみを確認:
ifconfig eth0
スクリプト向けのIPアドレス抽出方法

IPアドレスのみを取得するコマンド
シェルスクリプトなどでIPアドレスの値だけが必要な場合は、以下のようなワンライナーが便利です:
ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'
このコマンドの説明:
ip -4
:IPv4アドレスのみを対象addr show eth0
:eth0インターフェースの情報を表示grep -oP
:Perlの正規表現でマッチした部分のみを出力
より簡単な抽出方法
正規表現が複雑に感じる場合は、このような方法もあります:
ip route get 1 | awk '{print $7}' | head -1
これは、デフォルトルート経由でのIPアドレスを取得する方法です。
ネットワークトラブルの診断と切り分け

外部への疎通確認(ping)
IPアドレスは取得できているのに「インターネットに接続できない」という場合は、まず外部への疎通を確認します:
ping -c 4 8.8.8.8
このコマンドでGoogleのパブリックDNSサーバーに4回pingを送信します。応答があれば、基本的なネットワーク接続は問題ありません。
DNS名前解決の確認
IP直打ちでは通信できるが、ドメイン名での通信ができない場合はDNSの問題が考えられます:
ping -c 4 google.com
もしこのコマンドが失敗する場合は、/etc/resolv.conf
ファイルを確認しましょう:
cat /etc/resolv.conf
DNSサーバーが正しく設定されているかをチェックします。
ルーティングテーブルの確認
より詳細なネットワーク診断が必要な場合は、ルーティングテーブルを確認します:
ip route
または:
route -n
デフォルトゲートウェイが正しく設定されているかを確認できます。
よくある質問と解決方法
なぜifconfigが使えないの?
Alpine Linuxは軽量性を重視しているため、使用頻度の低いパッケージはデフォルトでインストールされていません。ifconfig
を含むnet-tools
も同様です。
DockerコンテナでIPが確認できない場合
Dockerコンテナ内でIPアドレスを確認する場合、ホストとは異なるネットワーク設定になっています:
# コンテナ内のIPアドレス確認
ip addr show eth0
# ホストからコンテナのIPを確認
docker inspect コンテナ名 | grep IPAddress
Alpine Linuxでネットワーク設定ファイルはどこにある?
Alpine Linuxでは、ネットワーク設定は以下のファイルで管理されています:
/etc/network/interfaces
:インターフェース設定/etc/resolv.conf
:DNS設定/etc/hostname
:ホスト名設定
まとめ
Alpine LinuxでのIPアドレス確認は、以下のポイントを押さえておけば問題ありません:
- 基本は
ip addr
コマンド(短縮形はip a
) - ifconfigを使いたい場合は
apk add net-tools
- トラブル診断にはpingとDNS確認が有効
- スクリプト用にはIPアドレス抽出コマンドを活用
コメント