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継承のさまざまな方法とメリット・デメリットを詳しく解説
目次序文1. リスナーの基本的な使い方2. リスナー形式3. ページに入るとすぐに監視とディープモニ...
SQL では、GROUP BY は SELECT の結果のデータをグループ化するために使用されます。...
MySQL公式サイト: https://www.mysql.com/downloads/ http...
序文効率的なSQL文の書き方は、Explain実行計画の分析と切り離せません。実行計画とは何か、効率...
目次Pagodaをインストールする管理塔Nginx サービス管理Apache サービス管理MySQL...
最近、お客様から支援の依頼を受けました。管理されている通信コンピュータ ルームから、サーバーの 1 ...
この記事では、検証コードのランダム生成と検証を実現するためのJavaScriptの具体的なコードを参...
コードをコピーコードは次のとおりです。 <html> <ヘッド> <m...
最近、サーバー上のアカウントが2つハッキングされ、パスワードが改ざんされました。幸い、まだ使えるアカ...
Dockerネットワーク管理とコンテナIP設定に基づいてNginxロードバランシングを実装するすべて...
目次1. データベースの使用を選択2. 情報を表示する3. テーブルを作成する4. データを挿入する...
目次テレポートの目的テレポートの仕組みこの記事では、以下の内容を取り上げます。テレポートの目的テレポ...
MySQL 文字列の連結、インターセプト、置換、および検索位置。よく使用される文字列関数:関数例示す...
HTML の空白ルールHTML では、コンテンツ内の複数のスペースは通常 1 つとみなされ、連続する...
VC6.0は確かに古すぎるVC6.0は昔の開発ツールです。現在のwin10では対応していません。しか...