🐥

ひとりMongoDB University 12/11 - 番外: DockerでMongoDB

2020/12/12に公開

この記録は、アドベントカレンダー形式の、MongoDB Universityの学習コースの記録、11日目になります!
ただいまコース: M103[1]を進めています。目標は12/25までにChapter1の完走!

本日の学習記録

MongoDB Universityの講座はお休み(自主休講)。
その代わりに、VSCodeのMongoDB for VS Codeという拡張機能を使って、エディタ内からMongoDBにアクセスするお話を書きました。

この際に、Dockerを使って手元でMongoDBを立ち上げています。
MongoDBの公式イメージは、コンテナ内でのシェルの起動が可能なので、コンテナにアタッチして、データファイルやプロセスを確認することができました。

/data/db 以下を確認したよ!

起動したコンテナに入ると、問題なくファイルシステムを参照できるので、/data/db を眺めてみます。
動画の解説にあったように、デフォルトでWiredTigerをストレージエンジンとして使っているので、ありましたありました!

WiredTigerWiredTiger.xx というファイルが。
データファイルも***.wtという拡張子になっています。

root@b0c9ee280d35:/data/db# pwd
/data/db
root@b0c9ee280d35:/data/db# ls -w 1
WiredTiger
WiredTiger.lock
WiredTiger.turtle
WiredTiger.wt
WiredTigerHS.wt
_mdb_catalog.wt
collection-0--359143437334718796.wt
collection-13--359143437334718796.wt
collection-2--359143437334718796.wt
collection-4--359143437334718796.wt
diagnostic.data
index-1--359143437334718796.wt
index-14--359143437334718796.wt
index-3--359143437334718796.wt
index-5--359143437334718796.wt
index-6--359143437334718796.wt
journal
mongod.lock
sizeStorer.wt
storage.bson

これで、手元でプロセスの確認や学習ができそうです。

mongoコマンドでMQLを使ったよ!

さらに、mongoコマンドが使えるので、早速簡単なMQLを使って問合せてみます。

# mongoコマンドで起動(内部からでパスワード無し)
root@b0c9ee280d35:/# mongo
MongoDB shell version v4.4.2
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("fec4ef7e-b4b4-4b55-937c-1ccf82510de9") }
MongoDB server version: 4.4.2
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
        https://docs.mongodb.com/

...[一部略]...

---
> show databases
admin   0.000GB
config  0.000GB
local   0.000GB
test    0.000GB
> use test
switched to db test
> show collections
sales

> db.sales.findOne()
{
        "_id" : 1,
        "item" : "abc",
        "price" : 10,
        "quantity" : 2,
        "date" : ISODate("2014-03-01T08:00:00Z")
}

本日のメモ

管理運用の内容は、やはり小さくてもシェルが使える実環境が必要かな...と思っていたところ。
MongoDBの公式イメージで、ある程度できそうなことがわかったので、うまく利用しながら進めたいと思います。

きょうのzenn

11日目の記事作成も、VSCodeのタスクから作ってみました。そろそろもうちょっと変えたい!

脚注
  1. M103: Basic Cluster Administration のコースになります。コースを開始すると、完了までの期限は2ヶ月以内です。 ↩︎

Discussion