DockerベースのMongoDBのインストール


文書ディレクトリ
  • DockerによるMongoDB
  • のインストール
  • MongDBミラー
  • を検索
  • 引き抜きミラー
  • MongoDB容器
  • を起動する
  • MongDBコンテナプロセス情報
  • を表示する
  • MongDBコンテナプロセス
  • を停止
  • MongDB容器
  • を起動する.
  • MongDB容器
  • を再起動する.
  • MongDBプロセス
  • を殺す
  • MongDB容器
  • を除去する.
  • はMongDB容器
  • に入る.
  • データベース
  • へのログイン
    DockerベースのMongoDBのインストール
    MongDBミラーの検索
  • コマンド:docker search mongodb
  • 例:
  • shanglishuaideMacBook-Pro:~ shanglishuai$ docker search mongodb
    NAME                                         DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
    mongo                                        MongoDB document databases provide high avai…   5809                [OK]                
    mongo-express                                Web-based MongoDB admin interface, written w…   435                 [OK]                
    tutum/mongodb                                MongoDB Docker image – listens in port 27017…   225                                     [OK]
    bitnami/mongodb                              Bitnami MongoDB Docker Image                    84                                      [OK]
    percona/percona-server-mongodb               Percona Server for MongoDB docker images        23                                      
    frodenas/mongodb                             A Docker Image for MongoDB                      17                                      [OK]
    centos/mongodb-32-centos7                    MongoDB NoSQL database server                   6                                       
    centos/mongodb-26-centos7                    MongoDB NoSQL database server                   5                                       
    eses/mongodb_exporter                        mongodb exporter for prometheus                 4                                       [OK]
    centos/mongodb-36-centos7                    MongoDB NoSQL database server                   4                                       
    quadstingray/mongodb                         MongoDB with Memory and User Settings           3                                       [OK]
    neowaylabs/mongodb-mms-agent                 This Docker image with MongoDB Monitoring Ag…   2                                       [OK]
    tozd/mongodb                                 Base image for MongoDB server.                  2                                       [OK]
    bigtruedata/php-mongodb                      PHP image with MongoDB support                  2                                       [OK]
    webhippie/mongodb                            Docker images for MongoDB                       2                                       [OK]
    openshift/mongodb-24-centos7                 DEPRECATED: A Centos7 based MongoDB v2.4 ima…   1                                       
    xogroup/mongodb_backup_gdrive                Docker image to create a MongoDB database ba…   1                                       [OK]
    centos/mongodb-34-centos7                    MongoDB NoSQL database server                   1                                       
    nuxeoapbcatalog/nuxeo-mongodb-apb            MongoDB deployment for Nuxeo                    1                                       [OK]
    perconalab/percona-server-mongodb-operator   MOVED TO https://hub.docker.com/r/perconalab…   1                                       
    targetprocess/mongodb_exporter               MongoDB exporter for prometheus                 0                                       [OK]
    ansibleplaybookbundle/mongodb-apb            An APB to deploy MongoDB.                       0                                       [OK]
    gebele/mongodb                               mongodb                                         0                                       [OK]
    mongodbsap/mongodbdocker                                                                     0                                       
    phenompeople/mongodb                          MongoDB is an open-source, document databas…   0                                       [OK]
    shanglishuaideMacBook-Pro:~ shanglishuai$ 
    

    ミラーをプル
  • コマンド:docker pull mongo
  • 例:
  • shanglishuaideMacBook-Pro:~ shanglishuai$ docker pull mongo 
    Using default tag: latest
    latest: Pulling from library/mongo
    7e6591854262: Pulling fs layer 
    089d60cb4e0a: Pulling fs layer 
    9c461696bc09: Pulling fs layer 
    45085432511a: Waiting 
    latest: Pulling from library/mongo
    7e6591854262: Pull complete 
    089d60cb4e0a: Pull complete 
    9c461696bc09: Pull complete 
    61f2d1eeb002: Pull complete 
    03d6dcc43c97: Pull complete 
    6a359560a31c: Pull complete 
    1e1dddf38580: Pull complete 
    Digest: sha256:72b41ae9ad9d5898b25c3bf7b2f7164daff8ecbd8fe47ef31f9d56d05e85daa3
    Status: Downloaded newer image for mongo:latest
    shanglishuaideMacBook-Pro:~ shanglishuai$
    

    MongoDBコンテナの起動
  • コマンド:docker run --name mongo -d -p 27017:27017 mongo
  • MongDBコンテナプロセス情報の表示
  • コマンド:docker top [ ] | [ ID]
  • -例:docker top mongoMongDBコンテナプロセスの停止
  • コマンド:docker top mongo
  • 例:
  • shanglishuaideMacBook-Pro:~ shanglishuai$ docker stop mongo 
    mongo
    shanglishuaideMacBook-Pro:~ shanglishuai$
    

    MongDBコンテナの起動
  • コマンド:docker start mongo
  • 例:
  • shanglishuaideMacBook-Pro:~ shanglishuai$ docker start mongo 
    mongo
    shanglishuaideMacBook-Pro:~ shanglishuai$
    

    MongDBコンテナの再起動
  • コマンド:docker restart mongo
  • 例:
  • shanglishuaideMacBook-Pro:~ shanglishuai$ docker restart mongo 
    mongo
    shanglishuaideMacBook-Pro:~ shanglishuai$
    

    MongDBプロセスを殺す
  • コマンド:docker kill -s KILL mongo
  • 例:
  • shanglishuaideMacBook-Pro:~ shanglishuai$ docker kill -s KILL mongo
    mongo
    shanglishuaideMacBook-Pro:~ shanglishuai$ 
    

    MongDBコンテナの削除
  • コマンド:docker rm -f -v mongo
  • 例:
  • shanglishuaideMacBook-Pro:~ shanglishuai$ docker rm -f -v mongo 
    mongo
    shanglishuaideMacBook-Pro:~ shanglishuai$ docker ps -a 
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                                                   NAMES
    ad20c50bfd1a        redis               "docker-entrypoint.s…"   3 months ago        Exited (255) 2 weeks ago    0.0.0.0:6379->6379/tcp                                  redis
    f55370a0226d        zookeeper           "/docker-entrypoint.…"   4 months ago        Up 11 days                  2888/tcp, 0.0.0.0:2181->2181/tcp, 3888/tcp              zookeeper
    c0e5ae6ccae6        rabbitmq            "docker-entrypoint.s…"   6 months ago        Exited (255) 5 months ago   4369/tcp, 5671/tcp, 25672/tcp, 0.0.0.0:5672->5672/tcp   rabbit
    shanglishuaideMacBook-Pro:~ shanglishuai$
    

    注意:MongDBコンテナを削除すると、起動したMongDBコンテナが削除され、docker ps -aコマンドではコンテナが見えません.
    MongDB容器へ
  • コマンド:docker exec -it mongo bash
  • 例:
  • shanglishuaideMacBook-Pro:~ shanglishuai$ docker exec -it mongo bash 
    root@dd8938f9943e:/# env 
    HOSTNAME=dd8938f9943e
    MONGO_VERSION=4.0.9
    TERM=xterm
    MONGO_PACKAGE=mongodb-org
    LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
    MONGO_REPO=repo.mongodb.org
    JSYAML_VERSION=3.13.0
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    GPG_KEYS=9DA31620334BD75D9DCB49F368818C72E52529D4
    PWD=/
    SHLVL=1
    HOME=/root
    MONGO_MAJOR=4.0
    GOSU_VERSION=1.11
    _=/usr/bin/env
    root@dd8938f9943e:/#
    

    データベースへのログインdocker exec -it mongo bashを介してMongoDBインターフェースに入り、mongo [ ]と入力する
  • コマンド:mongo [ ]
  • 例:登録mytestデータベース
  • shanglishuaideMacBook-Pro:~ shanglishuai$ docker exec -it mongo bash 
    root@dd8938f9943e:/# mongo mytest
    MongoDB shell version v4.0.9
    connecting to: mongodb://127.0.0.1:27017/mytest?gssapiServiceName=mongodb
    Implicit session: session { "id" : UUID("90f43a74-3d6d-4625-a18e-76f97d47d095") }
    MongoDB server version: 4.0.9
    Server has startup warnings: 
    2019-04-27T10:47:21.807+0000 I STORAGE  [initandlisten] 
    2019-04-27T10:47:21.807+0000 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
    2019-04-27T10:47:21.807+0000 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
    2019-04-27T10:47:22.374+0000 I CONTROL  [initandlisten] 
    2019-04-27T10:47:22.375+0000 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
    2019-04-27T10:47:22.375+0000 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
    2019-04-27T10:47:22.375+0000 I CONTROL  [initandlisten] 
    ---
    Enable MongoDB's free cloud-based monitoring service, which will then receive and display
    metrics about your deployment (disk utilization, CPU, operation statistics, etc).
    
    The monitoring data will be available on a MongoDB website with a unique URL accessible to you
    and anyone you share the URL with. MongoDB may use this information to make product
    improvements and to suggest MongoDB products and deployment options to you.
    
    To enable free monitoring, run the following command: db.enableFreeMonitoring()
    To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
    ---
    
    >