
MongoDBは、市場で最も広く使用されているオープンソースのNoSQLデータベースの一つです。膨大なデータの処理と管理に必要なすべての機能を備えており、データベースの管理を少し簡単にする公式デスクトップアプリケーションも提供されています。
参照:採用キット: データベースエンジニア(TechRepublic Premium)
DockerでデプロイされたMongoDBインスタンスにGUIアプリケーションを接続するのはかなり難しいと思われるかもしれませんが、実際にはそれほど難しくはありません。このチュートリアルでは、MongoDBコンテナをデプロイし、MongoDB Compassから接続する方法を説明します。
ジャンプ先:
- MongoDB Compassをコンテナ化されたデータベースに接続するために必要なもの
- Docker経由でホストされたMongoDBへの接続
- MongoDBコンテナのデプロイと設定
- 次のステップ
MongoDB Compassをコンテナ化されたデータベースに接続するために必要なもの
この接続を機能させるには、DockerとMongoDB Compassアプリの両方をサポートするオペレーティングシステムのインスタンスが稼働している必要があります。Ubuntu Linuxを例に、Dockerのインストール、コンテナのデプロイ、そしてCompassをデータベースに接続する方法を説明します。このプロセスは様々なLinuxディストリビューションに対応していますので、ご留意ください。
MongoDB GUI Compass をインストールしてリモート サーバーに接続するための一般的な手順に興味がある場合は、このチュートリアルから始めるのが良いでしょう。
Docker経由でホストされたMongoDBへの接続
この方法でMongoDBに接続する場合、まず最初にDockerをインストールする必要があります。次のコマンドで、公式のDocker GPGキーを追加できます。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
次に、Docker リポジトリを追加します。
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
そこから、次のコマンドで必要な依存関係をインストールします。
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y
Docker エンジンの最新バージョンをインストールするには、次の 2 つのコマンドを使用できます。
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
次に、次のようにしてユーザーを Docker グループに追加します。
sudo usermod -aG docker $USER
変更を有効にするには、ログアウトして再度ログインしてください。
MongoDBコンテナのデプロイと設定
これで、次のようにして MongoDB コンテナをデプロイできます。
docker run -d -p 27017:27017 --name example-mongo mongo:latest
コンテナが実行されている場合は、次のコマンドでアクセスする必要があります。
docker exec -it example-mongo bash
コンテナ内に入ったら、次のコマンドで MongoDB 構成ファイルを編集する必要があります。
nano /etc/mongod.conf.orig
そのファイルで、次のセクションを見つけます。
net:
port: 27017
bindIp: 127.0.0.1
そのセクションを次のように変更します。
net:
port: 27017
bindIp: 0.0.0.0
変更が完了したら、ファイルを保存して閉じます。exit
コマンドでコンテナを終了します。
そこから、次のコマンドでコンテナを再起動します。
docker restart ID
このコマンドのIDはMongoコンテナのIDです。IDがわからない場合は、次のコマンドで確認できます。
docker ps
注: ユーザー名とパスワードの環境変数を使用して MongoDB コンテナをデプロイする必要がある場合があります。これは次のように実行できます。
docker run -d –name some-mongo -e MONGO_INITDB_ROOT_USERNAME=NAME -e MONGO_INITDB_ROOT_PASSWORD=SECRET mongo
NAME はユーザー名であり、SECRET は一意かつ強力なパスワードです。
コンパスへの接続
MongoDB コンテナが実行されると、従来のパッケージ マネージャーを使用して MongoDB がインストールされた場合に使用するのと同じ connect コマンドと、環境変数で使用したユーザー資格情報を使用して、Compass で MongoDB コンテナに接続できるようになります。
それでも Compass のリモート インスタンスからコンテナー化されたバージョンの MongoDB に接続できない場合は、MongoDB コンテナーを実行している同じマシンに Compass をインストールする必要がある可能性があります。
次のステップ
おめでとうございます!MongoDBの管理作業を少しでも楽にする、洗練されたGUIが完成しました。Compassから必要な数のMongoDBサーバーに接続し、必要なMongoDBコレクションの作成と管理を開始できます。
次に読む:トップデータ品質ツール(TechRepublic)