GNU/Linux >> Linux の 問題 >  >> Cent OS

Dockerを使用してMongoDBをデプロイおよび管理する方法

はじめに

MongoDBは、実用的なNoSQLデータベースソリューションです。固定データ構造を使用しないため、スケーラブルで動的なワークロードの管理に最適です。 MongoDBは、Dockerコンテナなどの分散環境に最適です。

Dockerと公式のMongoDBコンテナーイメージを使用すると、データベースのデプロイプロセスを大幅に短縮および簡素化できます。

このチュートリアルでは、DockerコンテナにMongoDBインスタンスをデプロイする方法を紹介します。 。

前提条件

  • sudoを持つユーザー 特権
  • コマンドラインへのアクセス
  • 実行中のDockerインスタンス

Docker用のMongoDBイメージをダウンロード

以下のステップバイステップの手順に従って、Docker用の最新の公式MongoDBイメージをダウンロードします。

  1. Dockerサービスがアクティブで実行されている必要があります。ターミナルで次のコマンドを入力すると、現在のステータスをすばやく確認できます。
sudo service docker status

この例では、Dockerサービスがアクティブで実行されています。

  1. MongoDBデータベースの最新の公式Dockerイメージのダウンロードに進みます:
sudo docker pull mongo

この画像は、システムが最新のを使用したことを示しています デフォルトでタグを付けます。

MongoDBの特定のバージョンをダウンロードするには、versionタグが追加された同じコマンドを使用します。例:

sudo docker pull mongo:4.2.2
  1. 次のコマンドを使用して、Dockerリポジトリ内のイメージを一覧表示します。
sudo docker images

インターフェイスは、MongoDBイメージが利用可能になったことを確認します。

MongoDBコンテナをデプロイする

デフォルトでは、MongoDBはデータを / data / dbに保存します Dockerコンテナ内のディレクトリ。これを修正するには、基盤となるホストシステムからMongoDBデータベースを実行しているコンテナーにディレクトリをマウントします。このように、データはホストシステムに保存され、コンテナインスタンスに障害が発生しても消去されません。

  1. / mongodataを作成します ホストシステムのディレクトリ:
sudo mkdir -p /mongodata
  1. runでDockerコンテナを起動します mongoイメージを使用したコマンド。 / data / db コンテナ内のディレクトリは/mongodataとしてマウントされます ホスト上。さらに、このコマンドはコンテナの名前を mongodbに変更します :
sudo docker run -it -v mongodata:/data/db --name mongodb -d mongo

-それ –Dockerコンテナにインタラクティブシェルを提供します。

-v –このオプションを使用して、/ mongodataを添付します / data / dbへのホストボリューム コンテナの容量。

-d –バックグラウンドプロセスとしてコンテナを開始します。

-名前 –コンテナの名前。

  1. MongoDBサーバーがコンテナーで実行を開始したら、次のように入力してステータスを確認します。
sudo docker ps

デフォルトのポート番号は27017です。 出力に見られるように

  1. オプションで、MongoDBポートを明示的に指定できます:
sudo docker run -it -v mongodata:/data/db -p 27017:27017 --name mongodb -d mongo
  1. 変更を加えた後は、常にDockerログをチェックして一連のイベントを確認してください。
sudo docker logs mongodb

ログは豊富な有用な情報を提供します。

インタラクティブDockerターミナル(Bashシェル)を起動してMongoDBデータベースを管理する

  1. コンテナは現在デタッチモードで実行されています 。代わりに、インタラクティブ端末を使用してコンテナに接続します。
sudo docker exec -it mongodb bash
  1. mongo と入力して、MongoDBシェルを起動します インタラクティブ端末で。

MongoDBシェルが起動し、プロンプトがコマンドを受け入れる準備が整います。

  1. mongoと入力するだけでなく 、次のように入力して、特定のホストとポートを追加で定義できます。
mongo -host localhost -port 27017  

MongoDBシェルを使用すると、データベースを作成したり、コレクションを追加したり、個々のドキュメントを管理したりできるようになりました。

MongoDBとインタラクティブシェルを終了する方法

exitと入力します MongoDBシェルを終了してから、終了します。 もう一度インタラクティブシェルを終了します。

別の方法として、 quit()と入力することもできます またはCtrl-Cを使用します シェルを終了します。

MongoDBデータベースの停止と再起動

ドッカーストップ コマンドは、コンテナインスタンスの実行を停止する短くて明確なコマンドです:

sudo docker stop mongodb

次のように入力して、実行中のDockerコンテナのリストを調べます。

sudo docker ps

コンテナは、 docker startを使用して開始されます コマンド:

sudo docker start mongodb

実行中のコンテナーのリストにより、MongoDBデータベースが再度開始されたことが確認されます。

sudo docker ps

Cent OS
  1. Debian10でDockerを使用してダイナミックDNSサーバーをデプロイする方法

  2. Dockerを使用してマイクロサービスをデプロイする方法

  3. ランチャーでアプリをデプロイする方法

  1. Dockerを使用してOpenVPNサーバーをインストールしてホストする方法

  2. Dockerを使用してJenkinsをインストールする方法

  3. LinodeにDockerを使用してnginxコンテナをデプロイする方法

  1. DockerでRedisをデプロイして実行する方法

  2. DockerをインストールしてLAMPスタックをデプロイする方法

  3. Fedora 32 または 31 (および代替) に Docker をインストールする方法