見出し画像

Docker Engine で NGINXを準備してウェブを公開する

前々回の記事で、リモートサーバに Docker Engine を載せて、Docker の「Hello World」の動作テストまで行いました。
今回は NGINX を Docker に載せて、80番と443番のポートで公開できるところまで準備します。


Docker Hub からNGINX公式のイメージをダウンロード

公式のNGINXイメージからコンテナを作成する流れを説明します。
https://hub.docker.com/ にアクセスして、 nginx で検索します。
検索リストの上に公式のイメージが並んでいます。
そのリンクを開くと次のコマンドがありますので、ターミナルで実行してください。

DockerHubでNginxを検索したリスト画面
★のリボンが付いているのが Nginx Offical です。
私は一番上を選択しました。
右上にある、コマンド「docker pull nginx」をターミナルで実行します。
docker pull nginx

今回は最新バージョンのイメージです。
バージョンを指定したい場合は、DockerHubの詳細ページにある、tags をクリックして、お好みのものを探してください。

Docker Hub で NGINX のページ
DockerHub の 公式Nginx の「Tags」を開いたところ

Nginx コンテナを起動する

Docker run コマンドで Nginx イメージからコンテナを起動します。
80番ポートと、443ポート(SSL/TLS用)をホスト(接続先のリモートサーバ)とコンテナの間でマッピングして、バックグラウンドでコンテナを実行します。

docker run --name my-nginx -p 80:80 -p 443:443 -d nginx

--name my-nginx はコンテナ名の割り当てです。好みの名前を割り当ててください。
-p 80:80, -p 443:443 ホストとコンテナのポート番号をすり合わせています。
-d はコンテナをバックグラウンドで実行します(付け忘れたら、ターミナルをもう1つ起動することになります)
最後の nginx ダウンロードしたイメージ名です。これを元にコンテナを起動します。

Welcome to nginx! 

ここまででテストページが表示できます。
リモートサーバのIPアドレスまたは、DNSを設定したURLが有ればアクセスできます。

記事の続きについて

この記事はまだ完成していません。
明日以降、加筆修正いたします(2024/3/17 20:30)

  • SSL の Let's Encrypt のインストール

  • index.htmlの配置

  • ディストリビューション名とバージョンを隠す方法

  • https へのリダイレクトなど

この記事が気に入ったらサポートをしてみませんか?