データベースサービスを構築するには、公式の MySQL イメージを使用します。現在の最新バージョンはバージョン 8.0.19 に相当します。公式バージョンが更新された後の次の手順で互換性の問題が発生しないように、イメージを使用するときにバージョン 8.0.19 を指定できます。 1 設定ディレクトリとデータディレクトリを作成するこのマシン上に、MySQL の設定とデータを保存するディレクトリを作成します。
docker プル mysql 3 イメージからホストに構成ファイルをコピーするイメージの内部構成ファイルは /etc/mysql ディレクトリに保存されます。構成ファイル ディレクトリをローカルの ~/docker/conf/ ディレクトリにコピーするための一時コンテナが作成されます。 # mysqlという名前のコンテナを作成します。docker run --name mysql -e MYSQL_ROOT_PASSWORD=crane -d mysql # docker コンテナ内の設定ファイルをローカルの ~/docker/conf/mysql ディレクトリにコピーします。docker cp mysql:/etc/mysql /Users/crane/docker/conf/ # 一時コンテナを停止して削除する docker stop mysql docker rm mysql 4 MySQLコンテナを作成して実行するホスト構成とデータ ファイル ディレクトリを Docker コンテナーにマウントし、ターミナルで次のコマンドを実行します。 # ~/docker/conf/mysql には mysql 設定ファイルが含まれています # ~/docker/data/mysql には mysql データファイルが含まれています # ローカルポート 3306 と 33060 は、それぞれ docker の 3306 と 33060 ポートにマップされています # データベースのルートパスワードは crane です # -d バックグラウンドでdockerを実行する docker run --name mysql -v ~/docker/conf/mysql:/etc/mysql/conf.d -v ~/docker/data/mysql:/var/lib/mysql -p 3306:3306 -p 33060:33060 -e MYSQL_ROOT_PASSWORD=crane -d mysql 5 ホストがデータベースに接続する5.1 端末コマンド接続前の手順でコンテナが正常に起動したら、ホスト端末で次のコマンドを実行してデータベースに接続します。 # 次のコマンドを入力してEnterキーを押し、データベースパスワードcraneを入力します mysql -uroot -p --protocol=tcp 上記のコマンドは、データベースへの接続にTCPを使用するように指定しています。--protocol=tcpを追加しない場合、デフォルトの接続はソケットになり、次のエラーが報告されます。 5.2 データベースツール接続DataGrip などのデータベース ツールを使用して接続し、関連するデータ操作を実行することもできます。 6 MySQLログを表示するコンテナの通常の操作中は、次のコマンドを使用してログを表示できます。 docker ログ -f mysql データのバックアップと移行を容易にするために、サービスを構築するときに外部にマウントされた構成とデータを使用します。同じバージョンの Docker イメージを使用して別のホストでコンテナを起動し、バックアップされた構成とデータをマウントすると、まったく同じデータベース構成とデータが得られます。 公式MySQLイメージを参照 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Web フロントエンドのパフォーマンス最適化の詳細説明: リソースのマージと圧縮
>>: JS で async と await を使用する方法
目次Tomcat でプロジェクトを展開する 3 つの方法プロジェクトをwebappsディレクトリに直...
1. Dockerサーバーへのリモートアクセスを有効にするdocker が配置されているリモート サ...
長い間ブログを書いていませんでした。先週、プロジェクトをテストしたところ、いくつかのバグが見つかりま...
この記事では、JavaScript Canvasで三目並べゲームを実装するための具体的なコードを参考...
序文この記事は主にMySQLコマンド階層検索ヘルプの使用に関する内容を紹介します。この記事のサンプル...
みなさんこんにちは。私は梁旭です。 Linux を使用しているときに、いくつかのコマンドを連結する必...
この記事では主に、CSS3 LESS で長いテキストの影を実装する方法を紹介し、皆さんと共有します。...
背景: DBA として、大規模なテーブルの DDL 変更のほとんどは、Percona の pt-on...
少し前に、製品バージョンをテスト用にテスターに提出したのですが、テスト結果はまったく予想外のもの...
ネイティブJSを使用して9つの正方形のグリッドを記述し、9つのグリッドの位置をドラッグして変更する効...
最近、Web ページに複数の画像をアップロードするためのスクリプトを作成しました。これは非常に実用的...
目次1. 定義と使用1.1 定義1.2 使用2. 複数のファイルに分割する3. エイリアス序文: T...
この記事では、CSS で記事の区切り線を実装するさまざまな方法をまとめています。区切り線はページを美...
この記事では、二次リンク効果を実現するためのReact+tsの具体的なコードを参考までに共有します。...
この記事の例では、参考のためにjsキャンバスランダムパーティクルエフェクトの具体的なコードを共有して...