在阿里云上可以找到 docker 镜像:
https://dev.aliyun.com/

搜索 “mongo”,可以找到 MongoDB 官方镜像。

... //连接阿里云 registry 过程省略,见官方文档
docker pull mongo   //下载 mongo 镜像
docker images   //下载完毕后查看镜像信息

//-p 指定端口映射规则,这样在外部可以通过docker主机IP访问mongo
//-i 是否使用交互式命令行(例如在容器启动时,执行shell脚本)
//-t 表示启用伪终端(TTY)
//-d 表示容器在后台运行
//-v 创建一个卷并绑定挂载点(类似目录映射,实现host和container文件共享)
docker run -p <主机端口>:<容器端口> -td <镜像ID或镜像名>

启动后,可以看到 PORTS 列给出了主机端口和容器端口

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                      NAMES
7666273f0863        0d1efff1b7ed        "/entrypoint.sh mongo"   4 seconds ago       Up 3 seconds        0.0.0.0:27017->27017/tcp   hungry_allen

通过docker进入mongo的shell

docker exec -it <容器名或ID> <命令行命令> <参数>

PS: 如果已经有容器在运行了,想要改变端口,则可以从容器创建一个镜像,然后删除原来的容器,用以上命令再次从镜像启动容器即可。

创建用户
user: 用户名
pwd: 密码明文
role: 用户角色
db: 该用户将创建到哪个数据库中

db.createUser({ user: 'uname', pwd: 'upwd', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });

MongoDB 重要参数

//数据根目录
/data/db
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐