Tomcat8 イメージをダウンロード [root@localhost ~]# docker search tomcat8 名前 説明 星 公式 自動化 ashince/tomcat8 Tomcat GUI マネージャーの事前構成済み Docker イメージ… 5 podbox/tomcat8 2 [OK] この Tomcat には jdk が含まれており、起動後すぐにアクセスできます。ポート 8080 を自動的に起動します。 [root@localhost ~]# docker pull ashince/tomcat8 デフォルトタグの使用: 最新 最新: ashince/tomcat8 からプル 06b22ddb1913: fs レイヤーをプルしています 336c28b408ed: プル完了 1f3e6b8d80c3: プル完了 [root@localhost ~]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ nginx 最新 2622e6cca7eb 2 週間前 132MB ashince/tomcat8 最新 02aedead27dd 22ヶ月前 314MB Nginxコンテナと2つのTomcatコンテナを起動します [root@localhost ~]# docker run -itd -p 8080:8080 ashince/tomcat8 3e3f2aabe67de7ee3f4b6d62176e21aaa9d2302922845cb08ad37af7146b13c5 [root@localhost ~]# docker run -itd -p 8081:8080 ashince/tomcat8 644d59711c805a626b7c1c219aa018f744098a14dd41e54744d6b13e7ba66a2f [root@localhost ~]# docker ps コンテナID イメージ コマンド 作成ステータス ポート名 cca55c4ad919 ashince/tomcat8 「catalina.sh run」 約 1 分前 起動 約 1 分 0.0.0.0:8081->8080/tcp unruffled_lalande 08b58d2f41d6 ashince/tomcat8 「catalina.sh run」 7 分前 7 分前にアップ 0.0.0.0:8080->8080/tcp enjoyed_williamson aeebcb0b40a2 nginx "/docker-entrypoint.…" 2 時間前 2 時間前にアップ 0.0.0.0:80->80/tcp priceless_ardinghelli #コンテナ内に vim コマンドがないため、Nginx コンテナ内の設定をローカル マシンにコピーして変更します [root@localhost ~]# docker cp 68d2bdf336ed:/etc/nginx/conf.d/default.conf 。 [root@localhost ~]# ls anaconda-ks.cfg デフォルト.conf インデックス.html [root@localhost ~]# grep -vE "#|^$" default.conf サーバー{ 聞く 80; 聞く [::]:80; server_name ローカルホスト; 位置 / { ルート /usr/share/nginx/html; インデックス index.html index.htm; } エラーページ 500 502 503 504 /50x.html; 場所 = /50x.html { ルート /usr/share/nginx/html; } } #2 つの Tomcat の IP アドレス [root@localhost ~]# for i in {72e174adc77d,080068dae40a};do docker examine $i| grep -i ipaddr |tail -n 1;done "IPアドレス": "172.17.0.4", "IPアドレス": "172.17.0.3", 動的および静的分離のために静的リソースを Nginx ディレクトリにコピーし、同時に構成ファイルを変更します # 動的および静的分離のために Nginx は静的リソースにローカルでアクセスする必要があるため、Tomcat の 1 つの ROOT ディレクトリをローカル コンピューターにコピーします [root@localhost ~]# docker cp 72e174adc77d:/usr/local/tomcat/webapps/ROOT 。 #Nginx リリース ディレクトリ [root@localhost ~] にコピーします。# docker cp ROOT 68d2bdf336ed:/usr/share/nginx/html/ [root@localhost WEB-INF]# docker exec 68d2bdf336ed ls -l /usr/share/nginx/html/ROOT 合計 184 -rwxrwxrwx 1 ルート ルート 7064 2017年6月21日 RELEASE-NOTES.txt drwxrwxrwx 2 ルート ルート 21 7月 27 2017 WEB-INF -rwxrwxrwx 1 ルート ルート 26447 2017年6月21日 asf-logo-wide.svg -rwxrwxrwx 1 ルート ルート 713 2017年6月21日 bg-button.png -rwxrwxrwx 1 ルート ルート 1918 6月 21 2017 bg-middle.png -rwxrwxrwx 1 ルート ルート 1392 2017年6月21日 bg-nav-item.png -rwxrwxrwx 1 ルート ルート 1401 2017年6月21日 bg-nav.png -rwxrwxrwx 1 ルート ルート 3103 2017年6月21日 bg-upper.png -rwxrwxrwx 1 ルート ルート 21630 2017年6月21日 favicon.ico -rwxrwxrwx 1 ルート ルート 12279 2017年6月21日 index.jsp -rwxrwxrwx 1 ルート ルート 2376 2017年6月21日 tomcat-power.gif -rwxrwxrwx 1 ルート ルート 5581 2017年6月21日 tomcat.css -rwxrwxrwx 1 ルート ルート 2066 2017年6月21日 tomcat.gif -rwxrwxrwx 1 ルート ルート 5103 2017年6月21日 tomcat.png -rwxrwxrwx 1 ルート ルート 67795 2017年6月21日 tomcat.svg #変更後のNginx設定ファイルは以下のとおりです。変更後、コンテナ[root@localhost ~]にコピーされます。# docker cp default.conf 68d2bdf336ed:/etc/nginx/conf.d/default.conf [root@localhost ~]# docker exec 68d2bdf336ed cat /etc/nginx/conf.d/default.conf アップストリーム tomcat_web{ サーバー 172.17.0.3:8080 重み=100 max_fails=2 fail_timeout=15; サーバー 172.17.0.4:8080 重み=100 max_fails=2 fail_timeout=15; } サーバー{ 聞く 80; 聞く [::]:80; server_name ローカルホスト; エラーページ 500 502 503 504 /50x.html; ルート /usr/share/nginx/html; 位置 /{ proxy_pass http://tomcat_web; proxy_set_header ホスト $host; } 場所 ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { ルート /usr/share/nginx/html/ROOT; 有効期限は30日です。 access_log オフ; } 場所 ~ .*\.(eot|ttf|otf|woff|svg)$ { ルート /usr/share/nginx/html/ROOT; 有効期限は30日です。 access_log オフ; } 場所 ~ .*\.(js|css)$ { ルート /usr/share/nginx/html/ROOT; 有効期限は30日です。 access_log オフ; } 場所 = /50x.html { ルート /usr/share/nginx/html; } } #新しい設定項目をロードする [root@localhost ~]# docker exec -it 68d2bdf336ed /bin/bash root@68d2bdf336ed:/# /usr/sbin/nginx -s リロード 2020/06/29 07:12:05 [お知らせ] 79#79: シグナル処理を開始しました 次に、図に示すように Nginx ポート 80 にアクセスします。 追加知識: Dockerの基本操作 コンテナの自動起動 イメージの削除とコンテナの削除 Dockerコンテナの自動再起動設定 オペレーティングシステムを再起動した後、docker サービスが開始されておらず、コンテナーが起動していないことがわかりました。再起動後に自動的に起動するにはどうすればよいですか? 1. Dockerサービスの自動再起動設定
2. Dockerコンテナの自動起動設定 [root@localhost ~]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ nginx 最新 5a3221f0137b 10か月前 126MB [root@localhost ~]# docker run -itd -p 80:80 nginx 3e28c4b5c6256c0ba04666751e426987d848b7afeb9c59774d5e9831dc78e5ee [root@localhost ~]# docker run -itd -p 81:80 nginx f0597c725fd6b7f4229aa9ab5de4a3cb29d09097a81dc8f64d1a60d469001379 [root@localhost ~]# docker ポート f0597c725fd6 80/tcp -> 0.0.0.0:81 [root@localhost ~]# docker ps コンテナID イメージ コマンド 作成ステータス ポート名 f0597c725fd6 nginx "nginx -g 'デーモン?? 30 秒前 29 秒前に起動 0.0.0.0:81->80/tcp elastic_allen 3e28c4b5c625 nginx "nginx -g 'デーモンの?? 35 秒前 33 秒前に起動 0.0.0.0:80->80/tcp tender_volhard 3. Dockerコンテナの自動起動設定 [root@localhost ~]# docker update --restart=always f0597c725fd6 3e28c4b5c625 翻訳元 3e28c4b5c625 [root@localhost ~]# reboot -h now 外部ホストによって接続が閉じられました。 [root@localhost ~]# docker ps コンテナID イメージ コマンド 作成ステータス ポート名 f0597c725fd6 nginx "nginx -g 'デーモンの?? 13 分前 2 分前に起動 0.0.0.0:81->80/tcp elastic_allen 3e28c4b5c625 nginx "nginx -g 'デーモンの?? 13 分前 2 分前にアップ 0.0.0.0:80->80/tcp tender_volhard ホストに多数のイメージとコンテナがある場合、リセットする必要があるときに、それらの一部またはすべてを削除することを選択できます。次に、次の操作を実行する必要があります。 1. コンテナを削除する [root@localhost ~]# docker ps -a コンテナID イメージ コマンド 作成ステータス ポート名 27c5c4d3cf86 nginx "nginx -g 'デーモンの?? 2 分前 2 分前に起動 0.0.0.0:80->80/tcp gracious_nash 61cccfe238a8 nginx "nginx -g 'デーモン?? 2分前 2分前 0.0.0.0:81->80/tcp distracted_grothendieck [root@localhost ~]# docker ps -aq 27c5c4d3cf86 61cccfe238a8 1) まずすべてのコンテナを停止する必要があります [root@localhost ~]# docker ps -aq 翻訳元 3e28c4b5c625 8855c7777f83 466d2efe3dd9 20ca589b1a10 e5457b41cae6 314d1d01c941 [root@localhost ~]# docker stop $(docker ps -aq) 翻訳元 3e28c4b5c625 8855c7777f83 466d2efe3dd9 20ca589b1a10 e5457b41cae6 314d1d01c941 [root@localhost ~]# docker ps コンテナID イメージ コマンド 作成ステータス ポート名 2) すべてのコンテナを削除します(1つだけ削除したい場合は、後ろの変数をイメージIDに変更するだけです) [root@localhost ~]# docker rm -f $(docker ps -aq) 翻訳元 3e28c4b5c625 8855c7777f83 466d2efe3dd9 20ca589b1a10 e5457b41cae6 314d1d01c941 [root@localhost ~]# docker ps -aq [root@localhost ~]# 2. 画像を削除する 1) ホストで画像を表示する
2) 指定されたIDの画像を削除する
3) すべての画像を削除する
3. 削除する画像が他の画像と関連していて削除できない場合 -fパラメータを使用して強制的に削除することができます
Docker Nginx コンテナと Tomcat コンテナを使用して負荷分散と動的および静的分離を実現する方法については、上記の記事が皆さんに共有できるすべてです。これが皆さんの参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。 以下もご興味があるかもしれません:
|
<<: 加算、減算、乗算、除算の機能を実現するには、HTML に 2 つの数値を入力します。
>>: JavaScript継承のさまざまな方法とメリット・デメリットを詳しく解説
XHTML には似た機能を持つタグがいくつかあります。もちろん、ここでの類似性とは意味の類似性を指...
1. まず、node、express、express-generator をインストールします (4...
AES暗号化の使用データ転送の暗号化と復号化処理 --- AES.js最初のステップ: vue に ...
バージョンチェーンInnoDB エンジン テーブルでは、クラスター化インデックス レコードに 2 つ...
フォームのアクションは URL ジャンプとは異なります。フォームはバックグラウンドにデータを渡すこと...
HTML POST リクエストで a タグを使用する 2 つの例を次に示します。 1. ajaxを使...
この記事では、主に、上下固定と中スライドレイアウトを実現するためのフレックスレイアウトのレイアウト方...
目次iview-admin2.0 組み込み権限管理権限に基づいてコンポーネントの表示を制御するカスタ...
Linux では、ファイルが作成されると、そのファイルの所有者はファイルを作成したユーザーになります...
目次1. 監視ポート関係の説明操作する2. 監視サービス関係の説明操作する3. テンプレートのインポ...
目次NFS サービスの概要NFS とは何ですか? NFS マウントの原則NFS サーバーはデータ転送...
前回の記事では、Vue で画像の切り抜きや拡大・縮小、回転を実現する方法を紹介しました。今回は、アイ...
書き換えモジュールは ngx_http_rewrite_module モジュールです。その主な機能は...
ウェブサイトのモバイル版には、少なくともいくつかの基本機能が必要です。 1. ページの適用性の問題:...
Linux でファイルを編集した後、保存して終了するにはどうすればよいですか?保存して終了するコマン...