ホームページ  >  記事  >  運用・保守  >  Dockerでデータベースミラーリングを行う方法

Dockerでデータベースミラーリングを行う方法

PHPz
PHPzオリジナル
2023-04-26 10:27:391379ブラウズ

Docker は現在最も人気のあるコンテナ化テクノロジであり、アプリケーションとその依存関係を独立したコンテナにパッケージ化し、さまざまな環境で実行できます。データベースはアプリケーションの中核コンポーネントであり、Docker でデータベースを実行することは、データベース アプリケーションをテスト、デプロイ、拡張するための便利で安全かつ反復可能な方法を提供するため、非常に一般的なシナリオです。

それでは、Docker でデータベース イメージを作成するにはどうすればよいでしょうか? MySQL データベース ミラーを作成する手順については、以下で詳しく説明します。

1. 公式 MySQL イメージのダウンロード

Docker Hub から公式 MySQL イメージをダウンロードできます。次のコマンドを使用して、Docker Hub から MySQL イメージをダウンロードできます:

docker pull mysql/mysql-server

2. カスタマイズされた MySQL イメージを作成する

公式 MySQL イメージを直接使用することもできますが、構成ファイル、初期化スクリプト、データ バックアップなどのニーズを満たさない可能性があります。したがって、ニーズを満たすために、公式イメージに基づいてカスタマイズされたイメージを作成する必要があります。

1. Dockerfile を作成する

Dockerfile は、Docker イメージを構築するための一連の手順が含まれるテキスト ファイルです。 MySQL 公式イメージをベースとして使用し、設定ファイル、初期化スクリプト、データ バックアップなどを追加してカスタマイズしたイメージを作成します。

この例では、次の内容の Dockerfile ファイルを作成します:

FROM mysql/mysql-server

# 安装telnet和net-tools
RUN yum update && yum install -y telnet net-tools

# 添加自定义配置文件
ADD my.cnf /etc/mysql/my.cnf

# 添加初始化脚本
ADD init.sql /docker-entrypoint-initdb.d/

# 添加数据备份
ADD backup.sql /tmp/backup.sql

上記の Dockerfile ファイルの説明は次のとおりです:

  • FROM mysql/ mysql-server : MySQL 公式イメージをベースイメージとして使用します。
  • RUN yum update && yum install -y telnet net-tools: Telnet ツールと net-tools ツールをインストールします。
  • ADD my.cnf /etc/mysql/my.cnf: カスタム構成ファイル my.cnf を /etc/mysql/ ディレクトリに追加します。
  • ADD init.sql /docker-entrypoint-initdb.d/: 初期化スクリプト init.sql を /docker-entrypoint-initdb.d/ ディレクトリに追加します。
  • ADD backup.sql /tmp/backup.sql: データ バックアップ backup.sql を /tmp/ ディレクトリに追加します。

2. イメージのビルド

この例では、Dockerfile ファイル、カスタム構成ファイル、初期化スクリプト、データ バックアップ、その他のリソースを準備しました。次に、Dockerfile ファイルが配置されているディレクトリで次のコマンドを実行してイメージをビルドする必要があります。

docker build -t my-mysql:latest .

このうち -t はイメージの名前に使用され、:latest は最新のイメージを使用することを意味します。バージョン。

3. MySQL コンテナの実行

カスタム MySQL イメージの作成に成功したので、コンテナ内でイメージを実行し、コンテナに名前を割り当てます:

docker run -d -p 3306:3306 --name my-mysql -v /data/mysql:/var/lib/mysql my-mysql

そのうち、-d はコンテナをバックグラウンドで実行することを意味し、-p はコンテナの 3306 ポートをホストの 3306 ポートにマップし、-v はホストの /data/mysql ディレクトリをコンテナの /var/lib/mysql ディレクトリにマップします。 -mysql はコンテナの名前を示します。

これで、MySQL クライアント ツールを使用して MySQL コンテナに接続し、それが適切に実行されていることをテストできます。

mysql -h 127.0.0.1 -P 3306 -u root -p

4. 結論

このプロセスを通じて、Docker でカスタム MySQL イメージを作成し、そのイメージを実行する方法を学びました。これにより、データベース アプリケーションのテスト、展開、拡張が容易になります。実際のプロジェクトでは、必要に応じてカスタム構成や初期化スクリプトを追加したり、データのバックアップやリカバリ、その他の機能を追加したりできます。

以上がDockerでデータベースミラーリングを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。