type
status
date
slug
summary
tags
category
icon
password
ガイド付き演習: MySQL データベースのロード
この演習では、MySQL データベースコンテナを作成し、コンテナからホストへのポート転送を行い、SQL スクリプトをロードしてデータベースを設定します。
リソース:
- ファイル: 該当なし
- アプリケーション URL: 該当なし
- イメージ: RHSCL MySQL 5.7 イメージ (rhscl/mysql-57-rhel7)
目標:
- 永続的なストレージを備えた MySQL データベースコンテナを展開できるようになります。
- SQL スクリプトをデータベースにロードできるようになります。
手順:
- データベースの永続的ストレージを設定する
最初に、データベースがコンテナの再起動後もデータを保持できるように必要なディレクトリを作成します。
ターミナルで以下のコマンドを実行します:
- MySQL コンテナインスタンスの作成とポート転送設定
p
パラメータでポート転送を設定。ホストのポート 13306 への接続はコンテナ内の 3306 ポートに転送されます。/var/local/mysql
ディレクトリは、セットアップスクリプトによって適切な権限で作成されていることを確認してください。
永続ストレージとポート転送を設定した MySQL コンテナを作成します。以下のコマンドを実行します:
- コンテナが正しく起動したことを確認する
以下のコマンドを実行して、コンテナが起動していることを確認します:
出力結果に
PORTS
の列でポート転送が表示されていることを確認します。- データベースをロードする
次に、SQL スクリプトを使用してデータベースをロードします。以下のコマンドを実行します:
- データベースのロードが成功したことを確認する
以下のコマンドを実行して、データベースにデータがロードされたかを確認します:
- コンテナ内で確認する方法
コンテナ内の MySQL にアクセスして確認する方法もあります。以下のコマンドでコンテナ内に bash シェルを開きます:
- コンテナ内でデータを確認する
bash シェル内で以下のコマンドを実行して、データベースの内容を確認します:
- コンテナ内から exit する
データ確認後、bash シェルを終了します:
- 他の方法でデータを確認する
コンテナ内の絶対パスを使ってプロセスを注入し、データを確認することもできます:
注意:
mysql
コマンドは $PATH
に含まれていないため、絶対パスを使用する必要があります。- データベースが正しく設定されたか確認する
ターミナルで以下のコマンドを実行して、設定を確認します:
- コンテナとボリュームの削除 最後に、作成したコンテナとボリュームを削除します:
- コンテナを停止する:
- 停止したコンテナを削除する:
- コンテナイメージを削除する:
- データベースデータを保存していたディレクトリを削除する:
これでガイド付き演習は完了です。
この章では以下の内容を学びました:
- コンテナの作成と管理のためのコマンドセット
docker run
: 新しいコンテナを作成docker ps
: コンテナの一覧を表示docker inspect
: コンテナのメタデータを表示docker stop
: コンテナを停止docker kill
: コンテナを強制停止docker restart
: 停止中のコンテナを再起動docker rm
: コンテナを削除
- コンテナストレージの特性
- コンテナのストレージは「揮発性(エフェメラル)」であり、コンテナが削除されると内容も消える。
- 永続データの取り扱い
- ホストのフォルダを利用して永続的なデータを管理可能。
docker run
コマンドでv
オプションを使うことで、ボリュームをマウントできる。
- その他の機能
docker exec
: 実行中のコンテナ内で新しいプロセスを開始する。docker run
コマンドでp
オプションを使い、ポートマッピングを設定できる。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/143d7ae8-88e2-804b-8eb7-efb1e23920c3
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章