質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

1059閲覧

gDocker を使用して、nginxのcontainerを作成し、localhostに接続できるようにしたい。

Hello_ryotaro

総合スコア6

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2021/01/26 08:06

編集2021/01/26 08:19

リンク内容
このサイトを参考にしました。

linux

1docker run -d --name nginx-container -p 8181:80 nginx

以上のコマンドを打ち、firewall等の設定をすると、http://<作成したインスタンスのIPアドレス>:8181/と入力すると、nginxのページが表示されるそうですが、表示されません。
google chromeで開きたいです。

リンク内容
このリンクを参考に、ipアドレスを取得しました。

確認したことーーーーーーーーーーーーーーーーーーーーーーー

linux

1docker exec -it <起動したコンテナ名> bash 2curl http://localhost:8181/ 3curl: (7) Failed to connect to localhost port 8181: Connection refused 4curl http://127.17.0.2:8181/ 5curl: (7) Failed to connect to 127.17.0.2 port 8181: Connection refused 6 7http://localhost:80/ または、 http://127.17.0.2:8181とすると、Thank you for using nginx.等が表示されます。 8 9shell出ない場合は、 10# curl http://localhost:8181/ 11# curl http://172.17.0.2:80/ 12# curl http://localhost:80 13以上の3つは、nginxのページが表示されます。 14 15 curl http://127.17.0.2:8181/ 16curl: (7) Failed to connect to 127.17.0.2 port 8181: Connection refused 17

firewallで、8181を追加。さくらのvpsを使用しているので、コントロールパネルでパケットフィルタ8181を追加。
firewallのreloadも行いました。

どこを確認すれば、分かっていない状態なので、ご教授お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

docker exec -it <起動したコンテナ名> bash
curl http://localhost:8181/

ではなくホストOS上でhttp://localhost:8181です。
exec bashしてコンテナ上で実行するならhttp://localhostです。

投稿2021/01/26 08:10

hentaiman

総合スコア6426

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Hello_ryotaro

2021/01/26 08:17

そうですね。そのホストos上で、port 8181をshell上で、port 80とつなぐことができるのかなと思いました。 google choromeで開くことは、どうすれば可能でしょうか。
hentaiman

2021/01/26 08:23

その内容と質問文に書かれている確認した内容に違いがありますけど、質問文の記載ミスですか? 質問文が記載ミスで実際にはnginxの稼働をホストOS上で確認できているのならあとはファイヤーウォールとさくらのフィルタが正しいかどうかしか確認出来る事はありません nginxの確認方法にミスが無いのなら今度はファイヤーウォールの設定手順(作業手順)を載せてください
Hello_ryotaro

2021/01/26 08:25

はい、すみません。質問文の記載イスです。
Hello_ryotaro

2021/01/26 08:30

TCP 8181 すべて許可する さくらのvpsのパケットフィルタです。 また、firewall-cmd --list-allと打つと、 services: dhcpv6-client http https pop3 ssh ports: 8181/tcp 80/tcp と出てきて、8181 portは開いていると思います。
hentaiman

2021/01/26 08:40

とりあえずdocker psのPORTSの結果はどうですか? コメント欄だと見難いので質問文編集してください。 あと現状ホストOS上からはコンテナのnginxに接続出来ているという事であってますか?
Hello_ryotaro

2021/01/26 08:43

すみません、自分のサーバーのipアドレスを記載すると、nginxのページを開くことができました。 $ sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' コンテナIDまたはコンテナ名 というコマンドを使用し、コンテナのIPアドレスを取得しました。そのコンテナipを使用していました。これは、コンテナのipなので、また別の物なんですね。 すみません。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問