一、docker-compose安装MongoDB
> cd /home
> mkdir mongo
> cd mongo
> vi docker-compose.yml
version: '3.1'
services:
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
ports:
- 27017:27017
volumes:
- /home/mongotest:/data/db
> docker-compose up -d #拉取镜像,创建docker,运行mongodb服务
> docker ps | grep mongo
二、Linux上创建MongoDB数据库、集合
> docker exec -it mongotest_mongo_1 mongo #连接数据库
> use admin #创建admin数据库
> db.auth('root','example') #登录
> show dbs #查看数据库
> use testdb #创建testdb数据库
> db.createUser({user:'test',pwd:'123456',roles:[{role:'dbOwner', db:'testdb'}]}) #创建用户
> db.auth('root','123456')
可通过GUI工具 - Robo 3T连接
三、MongoDB备份与恢复
# 备份mongodump
> docker ps | grep mongotest # 查看容器名称,这里是mongotest_mongo_1
> docker exec -it mongotest_mongo_1 mongodump -h localhost -u root -p example -o
/tmp/test #进入MongoDB终端
#-d可以备份制定数据库
#-o指定备份目录
> docker cp 8eb747c359b9:/tmp/test /tmp/test #将容器内部目录复制出来,8eb747c359b9为容器id
# 恢复mongorestore
docker exec -it mongotest_mongo_1 mongorestore -h localhost -u root -p example --dir /tmp/test
#--dir为备份路径