docker-composer mongodb error: authentication failed.
后来研究了一下发现第一次安装的时候,有脚本会给你自动创建账号,账号和密码就是你.env的账号密码。下次再docker-composerup的时候就不会再次初始化了。第一次执行docker-composerup的时候没有任何问题的,也都能正常连上,后来我改了一下mongodb的密码(.env)重新docker-composerup时就登陆不上了!,也就是挂载mongodb数据目录volumesmon
·
第一次执行docker-composer up 的时候没有任何问题的,也都能正常连上,后来我改了一下mongodb的密码(.env)重新docker-composer up时就登陆不上了!
后来研究了一下发现第一次安装的时候,有脚本会给你自动创建账号,账号和密码就是你.env的账号密码。下次再docker-composer up 的时候就不会再次初始化了。所以一直提示error: authentication failed.
那怎么判断是否需要初始化账号?秘诀就在于“数据目录是否存在”,也就是挂载mongodb数据目录volumes:mongodb_data:/data/db,
所以解决方案就是把挂载盘重新换一个目录。 再重新docker-composer up就好了
docker-composer.yaml
version: '3'
mongo:
image: mongo
restart: always
container_name: mongo-server
ports:
- 27017:27017
volumes:
- mongodb_data:/data/db
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_ROOT_USERNAME}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_ROOT_PASSWORD}
volumes:
mongodb_data:
driver: local
driver_opts:
type: none
device: /path/server/mongodb-data
o: bind
.env
MONGO_ROOT_USERNAME=root
MONGO_ROOT_PASSWORD=123456
更多推荐




所有评论(0)