🍵
【docker】コンテナ(DB)起動後にdumpファイルをインポートする方法
はじめに
この記事では、「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