ぱーくんのサイト別館

ぱーくん plus idea

Dockerコンテナで起動したサーバにアクセスできないときの確認と対処方法

 
この記事を書いている人 - WRITER -
ご訪問ありがとうございます(^^)
副業でネットビジネスに取り組んでいるぱーくんと申します。

激務でも増えない給料に失望し、将来のために別の収入源が欲しい!の一心でネットビジネスをはじめ、2018年4月に20万円達成。

ひと月36万アクセスあるサイトを作ったノウハウは無料で公開中。 ⇒⇒コチラ
ネットビジネスで未来を夢見れる方を一人でも増やしたいと思っています。

誰でも最初は初心者。
【やってみたいけど、初心者だから不安】
という方は、ぜひお気軽にお問合せください♪
詳しいプロフィールはこちら

dockerでWebサーバを立て、ブラウザで

http://localhost:8080/

にアクセスしたが、エラーが表示されたりしてアクセスできない

そんなときの確認ポイントを記載します。

 

 

アクセスできないときにどこが悪いかを確認する手順

まずは、アクセスできないときにどこが悪いかを順を追って確認しましょう。

 

ホストOSからコンテナのサーバにアクセスできない場合は、

  • そもそもWebサーバが動いていない
  • Webサーバは起動しているが、ホストOSからネットワーク的に接続できない

のどちらかの原因である場合が多いです。

 

①コンテナ内のWebサーバがちゃんと起動して動いているか

最初に確認するのは、Dockerコンテナで起動するWebサーバがちゃんと動いているのかどうかです。

docker exec -it <起動したコンテナ名> bash
とするとコンテナ内のOSにシェルでログインできますので、ここでcurlコマンドでサーバからちゃんとレスポンスが返ってきているかを確認します。
curl http://localhost:8080/

これでエラーが返ってきたり、レスポンスが返ってこない場合は、ポートの公開とか、ポートフォワーディングの前に、そもそもWebサーバが起動していないと思います。

 

②localhost以外ではアクセスできるかを確認

上記でアクセスできない場合、もう一つ調べるとよいのは、localhostではなく、実IPアドレスでアクセスしたらどうか?ということです。

docker inspect –format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ con_name

このコマンドで、コンテナに割り振られているネットワーク・ドレスが分かります。

172.17.0.2 のように表示されたとしたら、

curl http://172.17.0.2:8080/

でもレスポンスがどうなるかを確認しておきましょう。

両方とも正常に返ってくる場合は、Webサーバは起動しています。

 

③コンテナで特定のポートが公開されているか?(EXPOSE 命令)

デフォルトの設定だと、Dockerのコンテナはポートを公開していないので、ホストOSからもアクセスできません。
コンテナの特定のポートを公開するには、Dockerfileで「EXPOSE命令」を書いてあげる必要があります。

 

④公開されたポートにつながるように設定できているか?(ポートフォワード)

Dockerコンテナで公開されたポートにホストOSから「localhost:8081」のように接続するには、

ホストOSの8081番ポートとコンテナの8080番ポートをつないであげる必要があります。

localhost:8081 —–> コンテナ:8080

こんな感じにつながるイメージですね。

そうするには、上記のように、「localhost:8081」に来たリクエストを「コンテナ:8080」に転送してあげるようにするわけです。

この設定を「ポートフォワードする」といいます。

このように設定するには、コンテナをrunするときに-p (–publish) オプションを指定します。

docker run -p 8081:8080 –name <起動するコンテナ名>

-p 【ホストOS側のポート】:【コンテナ側で公開されたポート】

のように指定します。

すると、
http://localhost:8081/

でサーバにアクセスできるようになります。
もちろん、

docker run -p 8080:8080 –name <起動するコンテナ名>

としてdocker runすると

http://localhost:8080/

でサーバにアクセスできます。

created by Rinker
¥3,718 (2021/10/25 14:05:47時点 Amazon調べ-詳細)
created by Rinker
¥2,090 (2021/10/25 15:15:34時点 Amazon調べ-詳細)
この記事を書いている人 - WRITER -
ご訪問ありがとうございます(^^)
副業でネットビジネスに取り組んでいるぱーくんと申します。

激務でも増えない給料に失望し、将来のために別の収入源が欲しい!の一心でネットビジネスをはじめ、2018年4月に20万円達成。

ひと月36万アクセスあるサイトを作ったノウハウは無料で公開中。 ⇒⇒コチラ
ネットビジネスで未来を夢見れる方を一人でも増やしたいと思っています。

誰でも最初は初心者。
【やってみたいけど、初心者だから不安】
という方は、ぜひお気軽にお問合せください♪
詳しいプロフィールはこちら

- Comments -

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Copyright© ぱーくん plus idea , 2019 All Rights Reserved.