静的ウェブサイトをホストできるサーバーは数多くあります。この記事では、nginx、apache、tomcatサーバーを使用して、dockerの静的ウェブサイトアプリケーションの設定を説明します。 まず、dockerファイルを作成します。 異なるサーバーの Docker ファイルは異なります。以下は、nginx、apache、および tomcat サーバーの Docker ファイルです。実際、主な違いはプロジェクト ファイル ディレクトリの FROM タグです。 ディレクトリ構造: 1. nginx用のDockerファイル nginxから コピー ./www /usr/share/nginx/html/ WORKDIR /usr/share/nginx/html/RUN chown -R daemon:daemon * && chmod -R 755 * エクスポーズ80 2. Apacheのdockerファイル httpdから コピー ./www/ /usr/local/apache2/htdocs/ WORKDIR /usr/local/apache2/htdocs/RUN chown -R daemon:daemon * && chmod -R 755 * エクスポーズ80 3. tomcatのDockerファイル tomcatから コピー ./www/ /usr/local/tomcat/webapps/ROOT/webapp WORKDIR /usr/local/tomcat/webapps/ROOT/webapp #プロジェクトディレクトリに切り替えます RUN chown -R daemon:daemon * && chmod -R 755 * #権限を設定します ここでは、webapp という名前のプロジェクトを作成します。アクセスするときは、URL アドレスの後に /webapp を追加します。また、Tomcat のデフォルト ポートは 8080 であることに注意してください。 3 つのファイルは、さまざまな環境に Web サイトを展開するために使用されます。状況に応じて権限を設定することもできます。 次にプロジェクトを構築する docker build -t imageName 。(末尾のドットに注意してください。パブリック ライブラリへのプッシュを容易にするには、imageName が「ハブ アカウント名/プロジェクト名」である場合が最適です) 以下はビルドプロセスを示しています 3. パブリックウェアハウスにプッシュする まずdocker loginを実行する必要があります docker push ejiyuan/webapp 4番目に、プロジェクトをサーバーにプルします まずdocker loginを実行する必要があります docker pull ejiyuan/webapp docker imagesを実行してイメージが存在するかどうかを確認します 5. プロジェクトの実行 docker run -d -p 8081:80 ejiyuan/webapp VI. 検証 起動時に指定されたホストIPアドレスとポート番号8081に直接アクセスするか、curlを使用します。 カール http://192.168.99.100:8081 7. 質問 ここでは nginx を例に挙げます。プロジェクトのデフォルト ページが index.html でない場合は、401 または次のページが表示されます。 主な理由は、デフォルトページが指定されていないことです。次のコマンドを使用してイメージにログインします docker exec -it コンテナID /bin/bash containerIdはdocker psで取得でき、/etc/nginx/conf.d/default.cnfを修正し、コンテナ内にvimやviがない場合は、以下の2つのコマンドでインストールする 適切なアップデート apt をインストール またはsedコマンドを使用する sed -i '10c index default.html;' /etc/nginx/conf.d/default.conf 変更には再ロードが必要です nginx -t # 設定ファイルが正しいか確認する service nginx reload # 設定ファイルを新しく読み込む サービスが存在しない場合は、 exitを使用してコンテナを終了し、 docker restart containerIdを使用してコンテナを再起動します。 8. コントラスト docker イメージを実行して、結果を自分で確認してください。Nginx が最も小さく、Apache が 2 番目、tomcat が最も大きくなります。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: mysql5.7.17.msi インストール グラフィック チュートリアル
目次Oracle 分離レベルMySQL 分離レベル要約する多くの読者は、MySQL のトランザク...
動的な列を実現するための Angularjs ループ オブジェクト プロパティ利点: オブジェクトを...
目次1. 実施の背景2. 実装のアイデア3. 実施プロセス1. 実施の背景先週、ユーザーがタスクを完...
プロキシを有効にする2つの方法React には、直接使用できるカプセル化された Ajax リクエスト...
MySQL 外部キー制約の無効化と有効化: MySQL 外部キー制約が有効になっているかどうかは、グ...
序文Ahhang が Springboot プロジェクトを開発していたとき、フロントエンドから検証コ...
数日前、友人と Node.js の epoll とリクエスト処理に関する知識を交換しました。今日は、...
XML は、データを記述、保存、送信、交換するために設計されています。 XML 1.0 は XML ...
画像をプルする root@EricZhou-MateBookProX: docker pull je...
検索パフォーマンスは最速から最遅まで次のとおりです (私が聞いたところによると)。 1 番目: ti...
フロントエンド開発者にとって、さまざまな主要ブラウザのさまざまなバージョンでコードが適切に動作するこ...
1. 別名の使用alias コマンドは、コマンドのエイリアスを設定するために使用されます。このコマン...
Dockerはますます普及しています。環境を軽量かつ柔軟に分離し、容量を拡張し、運用保守管理を容易に...
今日は、Linux ホスト上で 4 つの MySQL データベースを起動する方法について説明します。...
停止したすべてのDockerコンテナを1つのコマンドで再起動するdocker ps -a | gre...