文章目录
基于 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 mongo
停止 MongDB 容器进程
- 命令:
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()
---
>