Docker 搭建 MongoDB
编写 docker-compose.yml
version: "3"
services:
mongodb:
image: mongo:4.1
container_name: mongodb
environment:
MONGO_INITDB_ROOT_USERNAME: "root"
MONGO_INITDB_ROOT_PASSWORD: "123456"
TZ: "Asia/Shanghai"
# 不可以映射目录的原因
# https://www.jianshu.com/p/2757c19ba9a5
# https://blog.csdn.net/u013506207/article/details/95524335
volumes:
- /root/docker/mongodb/data/mongo:/data/db:rw
- /root/docker/mongodb/data/mongo_key:/mongo:rw
ports:
- "27017:27017"
networks:
- default
command:
--auth
这里需要注意,如果再用 Win
的 Docker
来搭建 MongoDB
的话,是不可以映射目录的,不可以映射的原因也写在了 docker-compose.yml
里
最好是将数据目录挂载设置好,防止删除容器的话造成数据丢失
然后我们执行
docker-compose up -d
就会下载镜像然后启动容器了。
需要注意的是当容器启动后我们想要修改 MongoDB 的用户名密码就不可以在 docker-compose.yml 文件中修改了,需要进到 MongoDB 容器中去数据库修改,因为 docker-compose.yml 里的用户名密码变量在第一次启动容器时只是为你创建了一条用户,但每次重启时并不会为你更新用户信息,具体操作如下
#1、我们先进入容器内
docker exec -it mongodb bash
#2、我们登陆 mongo 数据库
mongo
use admin
db.auth("root", "123456")
#这时候已经登陆进来了,我们可以查看到所有在 admin 数据库中的集合,
show collections
#也可以查看我们所有的系统用户
db.system.user.find()
#修改用户密码
db.updateUser("lutai", {pwd: "654321"}))
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: