Docker-setting-mongodb

提供:Dev Guides
移動先:案内検索

Docker-MongoDBの設定

MongoDBは、現代の多くのWebアプリケーションで使用されている有名なドキュメント指向データベースです。 MongoDBは開発用の一般的なデータベースであるため、DockerはMongoDBのサポートも確保しています。

これで、MongoDBのDockerコンテナーを起動して実行するためのさまざまな手順が表示されます。

  • ステップ1 *-最初のステップは、Docker Hubから画像をプルすることです。 Docker Hubにログインすると、以下に示すように、Mongoの画像を検索および表示できます。 検索ボックスにMongoと入力し、検索結果に表示されるMongo(公式)リンクをクリックするだけです。

Mongo DB

ステップ2 *-Docker Hubのリポジトリの詳細にMongoのDocker *pull コマンドが表示されます。

MONGOのDockerプルコマンド

ステップ3 *-Dockerホストで、上記のDocker *pull コマンドを使用して、Docker Hubから最新のMongoイメージをダウンロードします。

最新のモンゴ画像

プルコマンドMongoDB

  • ステップ4 *-Mongoのイメージができたので、最初にMongoDBのインスタンスとなるMongoDBコンテナーを実行しましょう。 このために、次のコマンドを発行します-
sudo docker run -it -d mongo

上記のコマンドについては、次の点に注意することができます-

  • –it オプションは、コンテナを対話モードで実行するために使用されます。
  • –d オプションは、コンテナをデーモンプロセスとして実行するために使用されます。
  • 最後に、Mongoイメージからコンテナを作成しています。

その後、 docker ps コマンドを発行して、実行中のコンテナを確認できます-

MongoDB Container

次の点に注意してください-

  • コンテナの名前は tender_poitras です。 コンテナをスピンアップするとコンテナの名前が変化し続けるため、この名前は異なります。 ただし、起動したコンテナをメモしてください。
  • 次に、実行中のポート番号にも注目してください。 27017のTCPポートでリッスンしています。
  • ステップ5 *-次に、MongoDBデータベースへの接続に使用されるクライアントとして機能する別のコンテナをスピンアップします。 これのために次のコマンドを発行しましょう-
sudo docker run –it –link=tender_poitras:mongo mongo/bin/bash

上記のコマンドについては、次の点に注意することができます-

  • –it オプションは、コンテナを対話モードで実行するために使用されます。
  • 現在、新しいコンテナを既に起動されているMongoDBサーバーコンテナにリンクしています。 ここでは、すでに起動されているコンテナの名前を記載する必要があります。
  • 次に、Mongoコンテナーをクライアントとして起動し、新しいコンテナーで bin/bash シェルを実行することを指定します。

Bin Bash

これで、新しいコンテナになります。

ステップ6 *-新しいコンテナで *env コマンドを実行して、MongoDBサーバーコンテナに接続する方法の詳細を確認します。

ENV Container New Command

  • ステップ6 *-次に、クライアントコンテナからMongoDBサーバーに接続します。 私たちは次のコマンドを介してこれを行うことができます-
mongo 172.17.0.2:27017

上記のコマンドについて、次の点に注意する必要があります

  • mongo コマンドは、MongoDBデータベースへの接続に使用されるクライアント mongo コマンドです。
  • IPおよびポート番号は、 env コマンドを使用したときに取得されるものです。

コマンドを実行すると、MongoDBデータベースに接続されます。

MongoDBデータベース

その後、コマンドプロンプトで任意のMongoDBコマンドを実行できます。 この例では、次のコマンドを実行しています-

use demo

このコマンドは、データベース名 demo に切り替えるために使用されるMongoDBコマンドです。 データベースが利用できない場合、作成されます。

データベース名DEMO

これで、クライアントとサーバーのMongoDBコンテナーが正常に作成されました。