サーバ概要


前提


MongoDB概要: 柔軟なデータベース

ドキュメントの構造が非確定のまま、運用できる。

# 1件のドキュメント例
{
  "_id" : ObjectId("5d7f037dd91653ba8eff8461"),
  "タイトル" : "吾輩はネコ?",
  "評価" : 85,
  "キーワード" : [ "猫", "明治" ]
}

インストール: TARファイル解凍の場合

  1. MongoDB Community Serverをダウンロード

  2. tar -xfコマンドで解凍

  3. コマンド化: 実行ファイルがあるbin/を環境変数PATHに追加

    • PATH=$PWD/bin/:$PATH

インストール: Dockerの場合

docker pull mongo:4.2

サーバ起動: mongodコマンド

# ディレクトリ作成(初回)
mkdir data

# バックグラウンド起動
mongod --dbpath data/ &

サーバ起動: Dockerの場合

ホストと同一ネットワーク

docker run --rm -it --network host --name mongo-server \
  mongo:4.2
# コマンド列を付加してポート変更
docker run --rm -it --network host --name mongo-server2 \
  mongo:4.2  mongod --port 23456

専用のネットワークで起動

net=mongo-net
docker network create --driver bridge $net # ネットワーク作成
docker run --rm -it --network $net --name mongo-server \
  mongo:4.2

認証あり

環境変数でユーザ・パスワードを設定できる

docker run --rm -it --network host --name mongo-server \
  -e MONGO_INITDB_ROOT_USERNAME=myadmin  -e MONGO_INITDB_ROOT_PASSWORD=mypass \
  mongo:4.2  mongod --auth

MongoDBサーバへアクセス: クライアント例