Dockerでnginxを実行し、ローカルディレクトリをイメージにマウントする方法

Dockerでnginxを実行し、ローカルディレクトリをイメージにマウントする方法

1 hupからイメージを取得する

docker プル nginx

2 マウントするディレクトリを作成する

mkdir -p /data/nginx/{conf,conf.d,html,logs}

3 コンテナを起動する前に設定ファイルが必要です

3.1 vim /data/conf/nginx.conf

ユーザー nginx;
ワーカープロセス 1;

error_log /var/log/nginx/error.log 警告;
pid /var/run/nginx.pid;


イベント {
  ワーカー接続 1024;
}


http {
  /etc/nginx/mime.types を含めます。
  デフォルトタイプ アプリケーション/オクテットストリーム;

  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';

  access_log /var/log/nginx/access.log メイン;

  ファイル送信オン;
  #tcp_nopush オン;

  キープアライブタイムアウト65;

  #gzip オン;

  /etc/nginx/conf.d/*.conf を含めます。
}

3.2 vim /data/nginx/conf.d/default.conf

サーバー{ 
  聞く 80; 
  server_name ローカルホスト; 
 
  #文字セット koi8-r; 
  #access_log /var/log/nginx/log/host.access.log メイン; 
 
  位置 / { 
    ルート /data/nginx/html; 
    # ルート /usr/nginx/html; 
    インデックス index.html index.htm; 
    自動インデックスオン; 
  try_files $uri /index/index/page.html; 
    #try_files $uri /index/map/page.html; 
  } 
 
  #エラーページ 404 /404.html; 
 
  # サーバーのエラーページを静的ページ /50x.html にリダイレクトします 
  # 
  エラーページ 500 502 503 504 /50x.html; 
  場所 = /50x.html { 
    ルート /usr/share/nginx/html; 
  } 
 
  # PHP スクリプトを 127.0.0.1:80 で listen している Apache にプロキシします 
  # 
  #場所 ~ \.php$ { 
  # プロキシパス http://127.0.0.1; 
  #} 
 
  # PHP スクリプトを 127.0.0.1:9000 で待機している FastCGI サーバーに渡します 
  # 
  #場所 ~ \.php$ { 
  #ルートhtml; 
  #fastcgi_pass 127.0.0.1:9000; 
  # fastcgi_index インデックス.php; 
  # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 
  #fastcgi_params を含めます。 
  #} 
 
  # Apacheのドキュメントルートが.htaccessファイルへのアクセスを拒否する 
  # nginxのものと一致します 
  # 
  #場所 ~ /\.ht { 
  # すべて拒否; 
  #} 
}

4 コンテナを起動する

#コンテナ内の nginx のポート 80 をローカルのポート 81 にマップします。docker run --name nginx81 -d -p 81:80 -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx -v /data/nginx/conf.d:/etc/nginx/conf.d -d nginx:latest

5 起動したコンテナを表示する

[root@dc01 ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
fa56f865bd26 nginx:latest "nginx -g 'daemon of..." 4 週間前 3 秒前にアップ 0.0.0.0:80->80/tcp vigilant_swirles
[root@dc01 ~]#

6 Webページアクセス nginx

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker で nginx の https を設定する方法
  • Docker に nginx をインストールし、https 経由でアクセスを構成する方法
  • Dockerでnginxをデプロイし、設定ファイルを変更する方法
  • nginxはdockerコンテナ内に設定ファイルを自動的に生成します
  • docker で nginx+php+mysql を設定する方法
  • Docker nginxのインストールと設定方法
  • Docker nginx + https サブドメイン設定の詳細なチュートリアル

<<:  Windows 10 で MySQL を完全に削除してアンインストールする方法

>>:  JavaScript を使用してタイムラインとアニメーション効果を実装するためのサンプル コード (フロントエンドのコンポーネント化)

推薦する

VueでTypeScriptを使用する方法

導入近年、TypeScript を求める声がますます高まり、TypeScript はフロントエンドに...

MySQLパーティションテーブルの詳細な説明

序文:パーティショニングはテーブル設計パターンです。一般的に、テーブル パーティショニングとは、条件...

MySQL で GTID モードをオンラインで有効または無効にする

目次基本的な概要GTIDをオンラインで有効にする1. GTID検証ENFORCE_GTID_CONS...

自動行折り返し機能付き CSS Flex レイアウトのサンプル コード

フレックス コンテナーを作成するには、要素に display: flex プロパティを追加するだけで...

Windows 2019 アクティベーション チュートリアル (Office2019)

数日前、Server2019の正式版がリリースされたことを知り、面白半分でインストールしてみることに...

webpackでCSSを分割・圧縮し、リンクでインポートする手順

まずコードファイルの構造を見てみましょう。エントリファイル (index1.js) の内容: ...

ウェブデザイナーは3つの側面からウェブページを最適化する必要がある

<br />帯域幅の増加に伴い、Web ページ上のオブジェクトも増えているため、Web ...

docker によってプルされたイメージがどこに保存されるかの詳細な説明

20200804追記:記事の内容に誤りがある可能性があります。他の回答を検索することもできます。 d...

Ubuntu 20.04 に Xrdp サーバー (リモート デスクトップ) をインストールする方法

Xrdp は、グラフィカル インターフェイスを通じてリモート システムを制御できる Microsof...

dockerfile における ENTRYPOINT と CMD の組み合わせと違い

前回の記事【dockerコンテナのためのdockerfileを詳しく解説】では、dockerfile...

HTML スクロールバーのテキストエリア属性の設定

1.オーバーフローコンテンツのオーバーフロー設定(設定されたオブジェクトにスクロールバーを表示するか...

CSS を使用して HTML フォーム コントロールを美しくする詳細な例 (フォームの美化)

1. HTML送信ボタンと下部ボタンの基本構文構造1. HTML送信ボタン入力タグで type=&...

vmware14Pro で Ubuntu システム インターフェイスが小さすぎる問題の解決方法の詳細な説明

1. 動作環境vmware14proウブントゥ 16.04LTS 2. 問題の説明vmware14P...

js 実行コンテキストとスコープの概要

目次序文文章1. JavaScriptコードの実行プロセスに関連する概念2. 実行コンテキストと実行...

XHTML 入門チュートリアル: Web ページのヘッダーと DTD

ヘッドと DTD はページには表示されませんが、Web ページの重要な要素です。 なぜ失敗したのでし...