1、配置目录结构
——mongo/
——docker-compose.yml
——Dockerfile
——setup/
——setup.js
2、docker-compose.yml
services:
mongo:
build: ./
restart: always
ports:
- 27017:27017 # 本地端口(可自定义):容器内默认端口(mongo设定为27017)
volumes:
- ./setup:/docker-entrypoint-initdb.d/ # 本地文件路径:容器内映射路径
- /data/mongo/db:/data/db/
environment: # admin账号和密码
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: xxx
#privileged: true
3、Dockerfile
FROM mongo:3.4
# 将本地的setup.js映射到Docker容器中
COPY ./setup/setup.js /docker-entrypoint-initdb.d/
4、setup.js
db = db.getSiblingDB('test'); // 创建一个名为"test"的DB
// 创建一个名为"test"的用户,设置密码和权限
db.createUser(
{
user: "test",
pwd: "123456",
roles: [
{ role: "dbOwner", db: "test"}
]
}
);
//db.createCollection("test1"); // 在"test"中创建一个名为"test1"的Collection
5、启动:
docker-compose up -d
6、mongo 常用
1)备份
mongodump -u test -p 123456 --host localhost --archive=./test20200121.gz --db test --gzip
2)恢复
mongorestore -u test -p 123456 --host localhost --gzip --db test --archive=./test20200121.gz
3)操作
连接数据库 ,带上库名
mongo localhost/test -u "test" -p "123456"
显示所有库: show dbs
切换到test库: use test
显示所有集合:show collections
查询某个集合的数据:db["集合名称"].find()