如何使用Docker compose为Mongodb添加用户以及认证

docker-compose.yml文件如下:

version: "2"

services:
  backend:
    container_name: server
    build: ./backend
    command: npm run server
    volumes:
      -  ./backend:/app
    ports:
      - '3000:3000'
    links:
      - db

  db:
    container_name: db
    image: mongo
    ports:
      - '27017:27017'
    environment:
      MONGO_INITDB_ROOT_USERNAME: '${ROOT_USR}'
      MONGO_INITDB_ROOT_PASSWORD: '${ROOT_PASS}'
connect(mongodb://db/app_db, { useNewUrlParser: true })
db.on('connected', () => console.log('mongodb连接成功'))

执行docker-compose up后,进入logs能看到提示"mongodb连接成功",使用Robo连接数据库输入相应密码能进入,但是看不到app_db这张表,我执行相应的CURD的操作,提示我command insert requires authentication
。我打开的mongodb的shell

use admin
db.auth('user', 'password')
1

然后还是不行。难道需要我给app_db这个表建立用户吗? 建立了用户后我怎么在yml文件中指定表和用户以及密码

阅读 5.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题