🍵

【docker】コンテナ(DB)起動後にdumpファイルをインポートする方法

2025/01/25に公開

はじめに

この記事では、「docker-compose up」コマンドで起動したDBのコンテナに対して
dumpファイルをインポートする方法を記載しています。

前提

・dockerについて基礎的な理解がある
・dumpファイルについて知っている
・DBやSQLについての知識・使用経験を有している

インポートの流れ

1. dumpファイルをdesktopなど任意の場所(ローカル)に用意する。

今回は、例として「init_db.sql」をdumpファイルとする。

2. 権限を付与

chmod 644 /Users/⚪︎⚪︎/Desktop/init_db.sql
例:
chmod 644 /Users/tanakazenn/Desktop/init_db.sql

3. 権限付与したdumpファイルをdocker(DB)コンテナ内にコピー

docker cp /Users/⚪︎⚪︎/Desktop/init_db.sql <コンテナ名またはID>:/tmp/init_db.sql
例:
docker cp /Users/tanakazenn/Desktop/init_db.sql container_db:/tmp/init_db.sql

4. docker(DB)コンテナにアクセス

docker exec -it <コンテナ名またはID> mysql -u root -p
例:
docker exec -it container_db mysql -u root -p

※アクセスする際にpasswordを聞かれた場合は、コンテナ起動時に環境変数等で設定している値を使用

5. dumpファイルをインポートする対象のDBを指定

use <DB名>
例:
use mysql;

6. SOURCE コマンドを使用しdumpファイルをインポート

mysql> SOURCE /tmp/init_db.sql;

以上となります!
最後までお読みいただきありがとうございます。

Discussion