0%

Dockerで開発環境をつくる - Nginx Part1

Dockerで開発環境をつくる - Passenger Nginx と Node.jsDockerのHTTP Routing - Part4: xip.io と Nginx と Node.jsで、LuaやNode.jsをホストするNginxのコンテナは作っていましたが、ふつうに静的コンテンツをホストするNginxが必要になったので用意します。

ローカルにある静的コンテンツをコンテナにアタッチできるので、ちょっとしたHTMLファイルをローカルで編集しながらの確認作業に便利に使えます。

Nginxの公式ビルド

Docker Hubから、Nginxのリポジトリを検索します。
Dockerfile Projextのビルドと公式ビルドのDownload数が多いです。

今回は、ボリュームが簡単にアタッチできる公式ビルドを使用します。

プロジェクトの作成

適当なディレクトリに静的コンテンツを配置するプロジェクトを作成します。

$ sudo mkdir -p /opt/ngix_apps/hello
$ sudo chown masato:masato /opt/ngix_apps/hello
$ cd !$

Hello Worldのindex.htmlを作成します。

$ echo Hello World > /opt/ngix_apps/hello/index.html

docker run

基本的なrunの書式です。

$ docker run --rm -v /some/content:/usr/local/nginx/html:ro nginx

先ほど作成した、Dockerホストの静的コンテンツのディレクトリをボリュームにアタッチします。
ポートはテスト用に8084にマップして、disposableにコンテナを起動します。

$ docker pull nginx
$ docker run --rm -v /opt/ngix_apps/hello:/usr/local/nginx/html:ro -p 8084:80 nginx

確認

Dockerホストでブラウザを開いて確認します。