ブログの投稿ログ

2021年
9月
8月
7月
6月

Docker内のMongoDBにデータをインポート



今回はアプリの機能追加する際など発生しがちなdocker内のmongoDBへテーブルを追加する方法を書きたいと思います。

その1

わかりやすいようにjsonデータを環境のルートディテクトリへ配置しておきます
(後ほど消すことを忘れないでください!●●カリの二の舞を演じることになってしまいます!)

その2

docker ps -a

をして任意のCONTAINER IDをコピーします。

その3

環境のルートディレクトリの上でで

docker cp ./1で配置した.json CONTAINER ID:/tmp/

その後

docker exec -ti $1 bash

でdokcer内に入ります。

その4

今回だと3で指定したtmpへ移動して

mongoimport --db FUGA --collection HOGE --jsonArray --drop --file ./1で配置した.json

上記を叩きます。

--dbの後ろが使うテーブルの名前。  
--collectionの後ろはコレクション名。  
--fileの後ろはファイル名。  
 --dropはimport先のコレクションを初期化する設定。  
 --jsonArrayこれが重要で、これが無いとエラーになります

まとめ

自分の場合取り急ぎでこのような方法を取りました。
環境内とdocker内にDBのjsonファイルを一旦置くので何かの間違えで消し忘れてプッシュしてしまった場合かなり危ういので
自己責任でお願いします!
なおもっと良い方法あるよーって方がいたらTwiiterでこっそり教えてください!