LoginSignup
13
13

More than 5 years have passed since last update.

Node.js LoopBack on Docker - Part1: MongoDBのコンテナを作成

Last updated at Posted at 2015-01-14

LoopBackはNode.jsのオープンソースのMBaaSです。開発元のStrongLoopはエンタープライズ向けにNode.jsのAPIプラットフォームを提供しています。この前MBaaSのサービスを調べたところ、オープンソースのMBaaSもいくつかありました。LoopBackはMBaaSとしても一般的な機能をそなえていますが、ExpressでできたSwagger 2.0準拠のAPI開発用Node.jsフレームワークとなっています。モデルを定義するとREST APIを自動生成してくれるのが特徴です。クライアントSDKはAndroid, iOS, AngularJSがあります。特にAngularJS SDKはIsomorphicなのでサーバーとクライアントで同じモデルを共有できます。

MongoDBコンテナの作成

LoopBackのバックエンドのデータストアとしてMongoDBを使うことにします。まずはLoopBackコンテナの作成の前に準備します。Docker Hub Registryで検索するとTrusted のdockerfile/mongodbが良さそうです。

Dockerホストにボリュームのディレクトリを作成して、とりあえずSmallサイズのDockerコンテナを起動します。

$ sudo mkdir -p /opt/mongo/db
$ docker run -d -p 27017:27017 \
  -v  /opt/mongo/db:/data/db \
  --name mongodb \
  dockerfile/mongodb \
  mongod --smallfiles

mongoコマンド用コンテナ

mongoコマンドを実行するため、Dockerコンテナを起動します。MongoDBコンテナにlinkして動作確認をします。
Dockerを使うと開発用のMongoDBサーバーが簡単に用意できました。とてもお手軽です。

$ docker run -it --rm \
  --link mongodb:mongodb \
  dockerfile/mongodb \
  bash -c 'mongo --host mongodb'
MongoDB shell version: 2.6.6
connecting to: mongodb:27017/test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
        http://docs.mongodb.org/
Questions? Try the support group
        http://groups.google.com/group/mongodb-user
> show databases;
admin  (empty)
local  0.031GB
13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13