コンテナ内のnginxに外からアクセスするには?

ツイート このエントリーをはてなブックマークに追加
1つ上へ / ブログトップへ

Dockerでnginxの入ったコンテナを起動しても、外からアクセスできなければ意味ありません。

ということで、起動時にホストOSのポートをコンテナ内のポートにフォワードする方法を紹介します。

コンテナ作成時、-pオプションでホストOSのポート:コンテナ内のポートで指定します。

$ sudo docker run -p 10080:80 -i -t blalor/centos /bin/bash
bash-4.1# yum install nginx
// 中略
bash-4.1# service nginx start
Starting nginx:                                            [  OK  ]

Ctrl+p Ctrl+qでホストOSに戻り、本当にフォワードされるか確認してみましょう。

[fkm@localhost ~]$ curl localhost:10080

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <title>Test Page for the Nginx HTTP Server on EPEL</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
// 中略

ちゃんとフォワードされていました。ホストOSでこのポートをあけておけば、Webに公開もできますね。

1つ上へ / ブログトップへ