Dockerでネットワークやポート設定を行った後は、正しく動作しているか確認し、問題があればデバッグすることが重要です。この章では、ホスト側とコンテナ内部での確認方法、そしてトラブルシューティングの基本を具体例と例えを交えながら解説します。
ホストからコンテナのサービスにアクセスできるかを確認するには、curl
を使用します。curl
はHTTPリクエストを送信して、サービスの応答を確認できる便利なコマンドです。
コンテナの起動:
Nginxを使用した例として、ホストの8080ポートをコンテナの80ポートにマッピングして起動します。
docker run -d --name test_ctr6 -p 8080:80 nginx
ホストからアクセスを確認:
curl
を使ってホストの8080ポートにリクエストを送信します。
curl <http://localhost:8080>
期待する出力:
NginxのデフォルトページのHTMLが表示されます。
結果の解釈:
コンテナ内でサービスが正しく動作しているかを確認するには、以下の方法を使用します。
docker exec
コマンドを使用して、コンテナ内部にアクセスします。
docker exec -it test_ctr6 bash
コンテナ内でサービスが指定ポートで待ち受けているか確認するには、netstat
コマンドを使用します。
netstat -tuln
出力例: