Docker を使用した MySQL のデプロイの詳細説明 (データ永続化)

Docker を使用した MySQL のデプロイの詳細説明 (データ永続化)

この記事では、Docker を使用して MySQL をデプロイし、データを保持する方法について簡単に説明します。tutum-docker-mysql プロジェクトを使用して MySQL サーバーを構築し、Dockerfile を書き直す時間を節約します。

まず、tutum-docker-mysql を実行します。

docker run -d -p 3306:3306 --name mysql tutum/mysql

tutum/mysqlイメージがローカルにない場合は、Dockerはまずそのイメージをダウンロードします。このステップには時間がかかる場合があります。実行が完了したら、次のようになっていることを確認します。

tutum-docker-mysql はアクセスするためのランダムなパスワードを自動的に作成します。これはログを通じて確認できます。

ログ内のパスワードを使用してmysqlにログインします

mysql -uadmin -pi6k5USp9Km9G -h127.0.0.1

理論的には、この時点で MySQL に正常にログインしています。データベースとテーブルを作成して終了できます。ただし、コンテナを停止して再起動すると、データは失われます。実際にデータを保存するにはどうすればよいでしょうか?

解決策は、ローカル ファイルをコンテナーにマウントすることです (データベース ファイルを保存するために、ホストからコンテナーにローカル フォルダーをマウントします)。

まず、前のコンテナを停止します

docker 停止 mysql

ローカルのマウント可能なパスを指定して、tutum-docker-mysql を再起動します。コンテナ内の /var/lib/mysql ディレクトリにマウントされる /home/walter/softwares/tutum-docker-mysql/data を指定します (-v ボリュームをバインドマウント)。このようにして、ホストのディレクトリにデータを永続化できます。

sudo docker run -d -p 3306:3306 -v /home/walter/softwares/tutum-docker-mysql/data:/var/lib/mysql -e MYSQL_PASS="mypass" tutum/mysql

上記で起動したときに、パスワードを mypass として指定して作成しました。次に、MySQL にログインしてデータを作成し、保存されるかどうかを確認してみましょう。

シェル>mysql -uadmin -pmypass -h127.0.0.1
mysql>データベーステストを作成します。

mysqlを終了し、コンテナを再起動します。実行した操作は保持されます。mysqlを起動するたびに、次のコマンドを使用できます。

docker run -d -p 127.0.0.1:3306:3306 -v /home/walter/softwares/tutum-docker-mysql/data:/var/lib/mysql tutum/mysql

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerはデータの永続性を実現するためにMySQLをマウントします

<<:  Nodejs がイントラネット侵入サービスを実装

>>:  Windows 10 での MySQL 8.0.12 解凍バージョンのインストール グラフィック チュートリアル

推薦する

Vueカスタムディレクティブの詳細

目次1. 背景2. ローカルカスタム指示3. グローバルカスタム指示4.1 カスタムコマンドフック関...

Javascript サンプル プロジェクトでの虫眼鏡効果の実装プロセス

目次序文事例: JD.com の虫眼鏡効果の模倣オフセットシリーズクライアントシリーズスクロールシリ...

Linux コマンドラインターミナルで画面を分割するための 2 つのツール

ターミナル分割画面ツールは2つあります: screen と tmux 1. 画面分割を使用する(上下...

jquery+springbootでファイルアップロード機能を実現

この記事の例では、ファイルアップロード機能を実現するためのjquery+springbootの具体的...

Vue3.0 + TypeScript + Vite初体験の詳しい説明

目次プロジェクトの作成プロジェクト構造メイン.jsアプリ.vue:設定コンポジションAPI参照反応的...

koa2 サービスに SSL を設定する方法

I. はじめに1: SSL証明書私のドメイン名は Tencent Cloud にあります。第 3 レ...

MySQL データベース 8 - データベース内の関数の適用の詳細な説明

データベースの組み込み関数の使用この記事では、主に日付関数、文字列関数、数学関数など、データベースの...

K8S クラスターを構築し、Hyper-V で Docker をインストールする方法

Win10 システムをインストールしていて、k8s クラスターを構築する場合、Win10 に付属する...

localStorageの有効期限を設定するいくつかの方法

目次問題の説明1. 基本的な解決策2. 中間的な解決策3. 高度なソリューション4. ハードコアソリ...

Javascript 操作メカニズム イベントループ

目次1. 4つのコンセプト1. JavaScriptはシングルスレッドです2. タスクキュー3. 同...

Ubuntu 上の MySQL における中国語文字化け問題の解決方法

問題を見つける最近 Django を学習しているのですが、MySQL データと組み合わせてデータを挿...

Win7 での mysql5.5 インストール グラフィック チュートリアル

MySQL のインストールは比較的簡単なので、通常は次のステップに直接進み、注意が必要な点に集中する...

docker ベースの mariadb のインストール構成プロセスの分析

1. インストール dockerhub を通じてインストールする mariadb のバージョンを検索...

Dockerで作成したコンテナを削除する方法

Dockerで作成したコンテナを削除する方法1. まず、docker -s -aコマンドを使用してす...

jQueryとCSSを組み合わせてトップに戻る機能を実現

CSS操作 CS $("").css(名前|プロ|[,値|関数]) 位置$(&q...