MySQL8 ベースの docker-compose デプロイメント プロジェクトの実装

MySQL8 ベースの docker-compose デプロイメント プロジェクトの実装

1. まず、次のパスに従って対応するフォルダを作成します。

ローカルのdockerでmysqlを実行

2. 次に、このディレクトリにdocker-compose.ymlファイルを作成し、ファイルに次の設定を追加します。

バージョン: '3.1'
サービス:
 デシベル:
  画像: mysql
  再起動: 常に
  環境:
   MYSQL_ルート_パスワード: 123456
  指示:
   --default-authentication-plugin=mysql_native_password
   --character-set-server=utf8mb4
   --collat​​ion-server=utf8mb4_general_ci
   --explicit_defaults_for_timestamp=true
   --小文字テーブル名=1
   --max_allowed_pa​​cket=128M;
  ポート:
   -3306:3306
  ボリューム:
   - ./data:/var/lib/mysql

 管理者:
  画像: 管理者
  再起動: 常に
  ポート:
   - 8080:8080

3. 次のパスに従って対応するフォルダを作成します。

ローカルの docker ディレクトリ

4. フォルダのディレクトリに docker-compose.yml ファイルを作成し、関連する構成情報を入力します (上記のホスト マシンの 8080 ポートは使用されているため、ここで別のポートに変更することしかできません)

バージョン: '3.1'
サービス:
 トムキャット:
  再起動: 常に
  画像: トムキャット
  コンテナ名: tomcat
  ポート:
   -8082:8080
  ボリューム:
   - /usr/local/docker/tomcat:/usr/local/tomcat/webapps/ROOT
  環境:
   TZ: アジア/上海

注意: 作成されたディレクトリが異なる場合、上記の対応する/usr/local/docker/tomcatディレクトリは同じにすることはできません。

5. 起動に失敗した場合は、起動コマンドで直接試すことができます。

docker run -p 8082:8080 イメージIDまたはイメージ名

6. プロジェクトをTomcatと同じディレクトリにアップロードし、解凍して実行してデプロイメントを実現します。

例:

1 つのコンテナで 1 つのプロジェクトをデプロイできるというのはおかしくありませんか? フロントエンド UI、バックエンド Admin、データベース MySQL の 3 つのアプリケーションを同じサーバーにデプロイする場合、バックエンドはフロントエンドのデータを管理する必要があり、その構成ファイル docker-compose は次のようになります。

管理者パス: /usr/local/docker/tomcat

バージョン: '3.1'
サービス:
 トムキャット:
  再起動: 常に
  画像: トムキャット
  コンテナ名: tomcat
  ポート:
   -8082:8080
  ボリューム:
   - /usr/local/docker/tomcat:/usr/local/tomcat/webapps/ROOT
  環境:
   TZ: アジア/上海

UI: /usr/local/docker/tomcat_ui

バージョン: '3.1'
サービス:
 トムキャット:
  再起動: 常に
  画像: トムキャット
  コンテナ名: tomcatui
  ポート:
   -8083:8080
  ボリューム:
   - /usr/local/docker/tomcat_ui:/usr/local/tomcat/webapps/ROOT
  環境:
   TZ: アジア/上海~

mysql パス: /usr/local/docker/mysql

dokekr-composeの設定

バージョン: '3.1'
サービス:
 デシベル:
  画像: mysql
  再起動: 常に
  環境:
   MYSQL_ルート_パスワード: 123456
  指示:
   --default-authentication-plugin=mysql_native_password
   --character-set-server=utf8mb4
   --collat​​ion-server=utf8mb4_general_ci
   --explicit_defaults_for_timestamp=true
   --小文字テーブル名=1
  ポート:
   -3306:3306
  ボリューム:
   - ./data:/var/lib/mysql

 管理者:
  画像: 管理者
  再起動: 常に
  ポート:
   - 8080:8080

バックエンドはフロントエンドデータをどのように管理するのでしょうか?実際には、デプロイしたプロジェクトによって異なります。プロジェクトには次のようなデータ接続構成があります。

ODBC ドライバ
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://192.168.206.128:3306/twg?useUnicode=true&characterEncoding=utf-8&useSSL=false
jdbc.ユーザー名=root
jdbc.パスワード=123456
# JDBC プール
プール初期化=1
jdbc.pool.minIdle=3
jdbc.pool.maxActive=20
JDBC テスト
jdbc.testSql=デュアルから 'x' を選択

ここで設定されている jdbc.connectionURL=jdbc:mysql://192.168.206.128:3306/twg?useUnicode=true&characterEncoding=utf-8&useSSL=false が鍵となります。実際、データ管理はこの IP を通じて行われます。この IP は MySQL によってデプロイされたサーバー IP であるため、デプロイされたプロジェクトの接続構成はこの IP を指し、バックグラウンドはこのデータベースのデータを取得し、フロントエンドデータを直接管理できるようになります。さらに、Navicat や SQLyog などのデータベース可視化インターフェースでは、上記 IP など、データベースによって展開された IP を使用して、サーバー データベース内のデータを簡単に管理できます。

サービスを停止する必要がある場合は、サービスに対応するフォルダーと docker-compose と同じレベルのディレクトリで docker-compose down を使用して、サービスを直接停止できます。

これで、MySQL8 デプロイメント プロジェクトに基づく docker-compose の実装に関するこの記事は終了です。MySQL8 の docker-compose デプロイメントに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker Compose は MySQL に接続するために SpringBoot プロジェクトをデプロイしますが、そこで遭遇する落とし穴があります。
  • docker-compose を使用して MySQL を実行する方法
  • dockercompose を使用して springboot-mysql-nginx アプリケーションをビルドする
  • docker-compose でデプロイしたときに MySQL にアクセスできなくなる問題の簡単な分析
  • docker compose を使用して elk システムを構築する方法
  • docker-compose を使用して mongodb と mysql を構築する詳細なプロセス

<<:  IE7でソースファイルを含むページを開くとページが空白になる問題の解決方法

>>:  React onClickにパラメータを渡す問題について話しましょう

推薦する

Windows 64 ビット版 MySQL 5.7 以降の解凍パッケージにデータディレクトリと my-default.ini がなく、サービスが起動できない問題の簡単な解決方法 (問題概要)

私は SQL の初心者で、オープンソースのインストールは非常に簡単だと思っていましたが、その過程でい...

SQL の左結合と右結合の原理と例の分析

テーブルが 2 つあり、テーブル A のレコードがテーブル B に存在しない可能性があります。左結合...

Mysql SQL ステートメントのコメント

MySQL SQL ステートメントにコメントを追加できます。MySQL SQL ステートメントのコメ...

ファイル共有サーバーを構築するための samba + OPENldap の詳細な説明

ここでは、samba (ファイル共有サービス) v4.9.1 + OPENldap (バックエンド ...

デザイナーの「職業病」について

デザイナーは世界で最も繊細で感情的な人々だと私はいつも感じています。私がこう言うときに優越感を感じる...

Dockerがコンテナを起動するたびに、IPとホストが指定した操作が実行されます。

序文Dockerを使ってHadoopクラスタを起動するたびに、ネットワークカードの再バインド、IPの...

Vue3 における computed の新しい使用例のまとめ

vue3 での computed の使い方。vue3 は vue2 のオプション API と互換性が...

Linux CentOS 7.4 で mysql5.7.20 のパスワードを変更する方法

MySQL がバージョン 5.7 にアップグレードされた後、セキュリティが大幅に向上しました。しかし...

CSS3で実装されたグラデーションスライド効果

成果を達成する コードhtml <div class="css-slideshow&...

MySQL は ACID トランザクションをどのように実装しますか?

序文最近、面接中に、MySQL の InnoDB エンジンがどのようにトランザクションを実装している...

MySQLでスケジュールされたタスクを設定する方法の分析

この記事では、例を使用して、MySQL でスケジュールされたタスクを設定する方法について説明します。...

Nginx/Httpd ロードバランシング Tomcat 設定チュートリアル

前回のブログでは、Nginx と httpd を使用して、逆生成用のバックエンド Tomcat サー...

Vue2.x - アンチシェイクとスロットリングの使用例

目次ユーティリティ: vue での使用:説明する:画像安定化:スロットル:ユーティリティ: // 手...

入力要素 [type="file"] を使用する場合のスタイルのカスタマイズとブラウザの互換性の問題に関する議論

この2日間、Baixing.comの筆記試験問題を解いているときに、このような問題に遭遇しました。H...

Node.js http モジュールの使用

目次序文ウェブHTTP サーバーファイルサーバー練習する序文Node.js 開発の目的は、JavaS...