MongoDBをDockerコンテナとしてデプロイする
最もアクセスしやすいNoSQLデータベースの1つであるMongoDB®には、多くの利用可能なデプロイメントオプションがあります。この投稿では、Docker®を使用してMongoDBをコンテナーとしてデプロイし、シェルクライアントを使用してそのコンテナーと対話します。
コンピューターまたはサーバーにDockerをインストールした後、次の手順を実行してMongoDBをDockerコンテナーとしてデプロイします。
- 最新または特定のMongoDBDockerイメージをダウンロードします。
- MongoDBのインスタンスをコンテナーとしてデプロイします。
- 基本的なシェル操作でMongoDBDockerコンテナーと対話します。
MongoDBDockerイメージをダウンロード
コンピューターまたはサーバーにDockerがインストールされている場合は、DockerHubコンテナーレジストリからMongoDBimageを取得できます。 mongo:4.0.4など、使用する予定の特定のイメージバージョンをダウンロードしてください。イメージのバージョンを指定する必要はありませんが、それを省略すると、最新のバージョンが取得され、Mongoはいつでも最新のバージョンを更新できるため、一貫性のないエクスペリエンスが発生する可能性があります。
docker images
を実行する コマンドは、サーバーで使用可能な画像のリストを提供します。この例では、タグ4.0.4が使用可能なMongoDBイメージが表示されています。
次のコマンドを使用して、MongoDBイメージをダウンロードし、使用可能なイメージを一覧表示します。
# docker pull mongo:4.0.4
# docker images
MongoDBのインスタンスをコンテナーとしてデプロイします
コンテナを切り離して-d
で起動します 、モード。コンテナはエフェメラルストレージを使用するため、ボリューム-v
をマウントする必要があります 、ローカルパス / data / db を指定してデータを保持するには、 。このパスは、コンテナの内部ディレクトリです。このアクションにより、ホストの / data / dbのデータが保持されます コンテナを停止または削除した場合でもパス。コマンドでは、名前--name
を指定します 、コンテナの場合は、Dockerイメージとタグが続きます。この場合、 mongo:4.0.4を使用しました タグ用。このコマンドは、コンテナのIDを含む文字列を返します。 Docker ps
コマンドは、実行中のコンテナのリストを表示します。
# docker run -d -v /data/db:/data/db --name mymongo mongo:4.0.4
# docker ps
シェルを使用して、MongoDBDockerコンテナーと対話します
機能的なMongoDBデプロイメントを利用するために、シェルクライアントを使用してデータベースと対話できます。
コンテナをデタッチモードで実行しているため、対話型端末を使用して接続する必要があります。次のコマンドを使用して、 mymongoという名前のデプロイメントに接続します 、bashシェルを開始します:
# docker exec -it mymongo bash
MongoDBシェルクライアントを起動するには、次のコマンドを実行します。
# mongo
MongoDBシェルクライアントから、MongoDBドキュメントで概説されているすべての機能にアクセスできます。たとえば、次のコマンドを使用して、インスタンスに存在するデータベースを確認できます。
> show dbs
この投稿では、ホストシステムからコンテナーにストレージボリュームが接続されたDockerを使用して、MongoDBコンテナーを作成しました。また、シェルを介してMongoDBDockerコンテナーとの対話を開始する方法も示しました。この投稿では、DockerコンテナーでMongoDBインスタンスを実行する基本的なデモンストレーションを提供していますが、同じMongoDBイメージを使用して任意の数のコンテナーを構築できます。これらのコンテナを使用してレプリカセットを作成し、さらに多くのことを実行して堅牢なコンテナ化されたアプリケーションを作成します。
この投稿が、aMongoDBインスタンスを起動して実行する方法を一般的に理解し、数分で作業を開始するのに役立つことを願っています。
コメントや質問をするには、[フィードバック]タブを使用します。今すぐチャットして会話を開始することもできます。
データベースサービスの詳細
-
MongoDBで未使用のインデックスを検索する
バージョン3.2以降、MongoDBはすべてのインデックスの使用統計を追跡します。これらの統計にアクセスするために、MongoDBは$indexStats集約パイプラインステージを提供します。 MongoDBで未使用のインデックスを見つける際の6つの考慮事項を次に示します。 たとえば、次のコマンドは、コレクション「test.foo」のインデックス統計を提供します。 db.foo.aggregate( [ { $indexStats: { } } ] ) https://bit.ly/2seXnzo $ indexStatsの出力については説明しません。このトピックをカバーするドキュメン
-
Docker Desktop - コンテナ管理用の使いやすいフロントエンド
直感的なソフトウェア ソリューションが好きです。使い方がとても簡単な製品は、実際にはマニュアルを必要としません。ドキュメントを参照する必要がある場合は、探している答えが必ず見つかります。私の経験では、Docker は間違いなくこの分野に適しています。 最近、私は新しい Docker のこと、Docker Desktop に出くわしました。これは、Docker コンテナー管理用の GUI であり、Docker エンジンを使用してコマンド ラインで通常実行する操作の便利なフロントエンドとして意図されています。うーん、とても面白そうですね。では、何が得られるか見てみましょう。 インストールと