CentOS安装运行mongo docker镜像背景:
根据需要,我需要安装一个mongoDB数据库,并且需要通过docker镜像作为容器运行这个 mongoDB 数据库
步骤:
1 下载镜像
首先从 docker hub 下载 mongoDB 的 docker 镜像
使用 docker search 命令查看有哪些可以下载的镜像
1 2 3 4 5 | [root@bogon test ] # docker search mongodb
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io /tutum/mongodb MongoDB Docker image – listens in port 2... 119 [OK]
docker.io docker.io /frodenas/mongodb A Docker Image for MongoDB 8 [OK]
docker.io docker.io /waitingkuo/mongodb MongoDB 2.4.9 4 [OK]
|
这里我下载的是第二个:docker.io
/frodenas/mongodb 这个镜像
使用docker pull 下载:
docker pull docker.io/frodenas/monodb
2 从镜像启动一个运行 mongoDB 的容器
To run the image and bind to host port 27017:
1 2 | [root@bogon gowiki] # docker run -d --name mongodb -p 27017:27017 docker.io/frodenas/mongodb
f2bcffc53168fb40ce445e7a0c4cf40ebc382651c958d2cd8fe8d9b2282d6191
|
使用docker ps 可以产看是否启动
1 2 3 | [root@bogon gowiki] # docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f2bcffc53168 docker.io /frodenas/mongodb "/scripts/run.sh " 11 seconds ago Up 10 seconds 0.0.0.0:27017->27017 /tcp , 28017 /tcp mongodb
|
这个镜像默认启动的时候会创建出一个默认的mongoDB用户和密码,以及一个默认的数据库
可以使用 docker logs 查看
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [root@bogon gowiki] # docker logs f2bcffc53168
...
Successfully added user: {
"user" : "mongo" ,
"roles" : [
{
"role" : "dbAdminAnyDatabase" ,
"db" : "admin"
}
]
}
====================================================
MongoDB User: "mongo"
MongoDB Password: "POmt28NDaals9ACs"
MongoDB Database: "admin"
MongoDB Role: "dbAdminAnyDatabase"
====================================================
|
参考链接:https://hub.docker.com/r/frodenas/mongodb/
3 连接
现在,一个在容器作为守护进程运行的 mongoDB 容器已经成功运行,并且容器的监听端口
27017绑定到了宿主机的27017端口。
首先进入容器。
1 2 | [root@bogon gowiki] # docker exec -it f2bcffc53168 /bin/bash
root@f2bcffc53168:~ #
|
如果想要在宿主机命令行连接到数据库可以在容器内执行命令:
1 2 3 4 | root@f2bcffc53168:~ # mongo
MongoDB shell version: 3.0.7
connecting to: test
Welcome to the MongoDB shell.
|
创建数据库:
1 2 | > use mongo
switched to db mongo
|
use 命令的用法是,切换数据库。如果指定名称的数据库不存在,则会创建出此数据库。
查看数据库
到这里就可以自由的操作 mongoDB 数据库了。更丰富的操作指令网上教程很多。可自己查找。