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にパラメータを渡す問題について話しましょう

推薦する

シェアしたい絶妙なApple風無料アイコン素材18セット

Apple マグカップのアイコンと追加機能 HD ストレージボックス – アドオンパックセイバースノ...

CentOS 7.9 の zabbix5.0.14 のインストールと設定プロセス

目次1. 基本的な環境設定2. データベースをインストールする3. zabbix関連コンポーネントを...

Docker で Jenkins サービスを構築する例

画像をプルする root@EricZhou-MateBookProX: docker pull je...

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

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

Dockerはポートマッピングを設定しますが、ソリューションにアクセスできません

#docker ps チェック、すべてのポートがマップされています コンテナID イメージ コマンド...

SQL 文を使用してデータを収集する場合の sum 関数と count 関数の if 判定条件の使用法の説明

まず、例を挙げてみましょう(読みたくない場合は、以下の要約だけ読んでください)。 order_typ...

Windows 10 と MySQL 5.5 のインストールとインストールなしの使用の詳細なチュートリアル (画像とテキスト)

この記事では、Windows 10環境でのMySQL 5.5のインストールと使用方法を紹介します。リ...

Linuxのバージョン情報を復号化する方法

Linux バージョンに関する情報を表示および解釈するのは、見た目よりも少し複雑です。単純なバージョ...

JS を使用して HTML で回転するクリスマスツリーを実装する

<!DOCTYPE ヘムル パブリック> <html> <ヘッド&g...

Docker で php-nginx-alpine イメージをゼロから構築する方法

これまでにも Docker 環境でいくつかのプロジェクトを実行したことはありますが、まだイメージをよ...

Ubuntu 18.04で国内ソースを変更する方法の例

Ubuntu はソースが中国からなのでダウンロード速度が比較的遅いです。CentOS と異なり、yu...

Linux システムで Centos7 を使って ElasticSearch ミドルウェアと共通インターフェースを構築するデモ

1. ミドルウェアの紹介1. 基本概念ElasticSearch は Lucene をベースにした検...

MySQLデータベースの名前を高速かつ安全に変更する方法(3種類)

目次MySQLデータベースの名前を変更する方法最初の方法: データベースの名前を変更することは非推奨...

Reactでレシピシステムを実装する方法を解説した記事

目次1. レシピ集1.1 プロジェクトの背景1.2 テクノロジースタック1.3 開発環境1.4. プ...

CentOS 6.5 i386 インストール MySQL 5.7.18 詳細チュートリアル

ほとんどの人はMySQLをコンパイルしてシステムディレクトリに置きますが、私のやり方はコンパイルした...