Compass GUIをDockerでデプロイされたMongoDBデータベースに接続する方法

Compass GUIをDockerでデプロイされたMongoDBデータベースに接続する方法
MongoDB のロゴが Web サイトの前の携帯電話に表示されています。
画像: Timon/Adobe Stock

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)

Tagged: