LoginSignup
86
85

More than 5 years have passed since last update.

Docker入門 Nginxを動かしてみる

Posted at

DockerでNginxを動かしていこうと思います。

Nginxのリポジトリをチェック

Docker HubのNginxのリポジトリを見に行く
https://hub.docker.com/r/library/nginx/

いろいろと使い方が記載されているので、それを参考にする
スクリーンショット 2018-10-01 0.37.23.png

Nginxの実行

Exposing external portに記載されているコマンドでNginxの初期画面を表示させてみる

$docker run --name hogehoge -d -p 8080:80 nginx

--name: 任意のイメージ名を指定する
-d: デタッチモード コンテナ実行時にバックグラウンドで起動する事ができる
(deamonのような常駐のプログラムでつかう)
-p ホストのポート番号:コンテナのポート番号: Webで叩くポート番号は実はコンテナのポート番号と紐付いてますよ。という宣言。

実行結果

いえーい。表示された!
スクリーンショット 2018-10-01 0.56.44.png

Q.-dしてないと何がかわるの?

フォアグラウンドで動作するために、それ以外の処理を実行することができない。
プロセスを終了させると、コンテナも停止してしまう。

下記のようにログが流れてくる

$docker run --name hogehoge  -p 8080:80 nginx
172.17.0.1 - - [30/Sep/2018:15:13:51 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" "-"

実行結果

実行画面も変化なし!!
スクリーンショット 2018-10-01 0.56.44.png

Nginxで自分で作成したHTMLを表示させる

表示させたいHTMLファイルを作成

htmlというディレクトリを作ってその中にファイルを作成します。


<!DOCTYPE html>

<html>
<body>

<h1>hugahuga</h1>
<p>husahusa</p>

</body>
</html>

作成したファイルのパスを確認します。

/Users/ユーザー名/workspace/dockerPractice/html

それでは、Nginxで上記ファイルを表示させるコマンドを実行していきましょう

バインドマウントを使用してNginxを起動する

docker run --name hugahugahuga -v /Users/masa/workspace/dockerPractice/html:/usr/share/nginx/html:ro -d -p 8080:80  nginx

先程の起動と異なる部分は`-v'の部分

-v ホストのディレクトリ:コンテナ側のマウントポイント:オプション

今回はReadOnlyを示すroオプションを指定している。

実行結果

ちゃんとファイルがよみこまれているのがわかります。
スクリーンショット 2018-10-01 1.17.30.png

バインドマウントのメリットは?

Nginxのコンテナ外にNginxで公開するコンテンツを配置することができるため
* 手元で簡単に更新をためすことができる
* Gitで管理することができる

これでサービス全体のディレクトリごとつなげてるんだろうな。

参考

ゼロからはじめる Dockerによるアプリケーション実行環境構築
セッション4 chapter22~23
https://www.udemy.com/docker-k/

86
85
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
86
85