簡體   English   中英

docker-compose在mognodb中創建用戶

[英]docker-compose create user in mognodb

使用docker-compose在MongoDB中創建用戶和數據庫的最佳解決方案是什么?

mongo:
restart: always
image: mongo:latest
container_name: "mongodb"
environment:
 - MONGODB_USERNAME=test
 - MONGODB_PASSWORD=test123
 - MONGODB_DATABASE=test1
volumes:
 - ./data/db:/var/micro-data/mongodb/data/db
 - ./setup:/setup
ports:
 - 27017:27017
command: mongod --smallfiles --logpath=/dev/null # --quiet

MONGODB env對我不起作用。

使用https://hub.docker.com/_/mongo/時,您需要在禁用身份驗證的情況下啟動數據庫,等待mongo啟動,創建用戶,並在啟用身份驗證的情況下重啟容器。

https://hub.docker.com/r/bitnami/mongodb/添加了一個方便的腳本:

您可以在首次啟動容器時創建對數據庫具有受限訪問權限的用戶。 為此,請提供MONGODB_USERNAME,MONGO_PASSWORD和MONGODB_DATABASE環境變量。

$ docker run --name mongodb \
  -e MONGODB_USERNAME=my_user -e MONGODB_PASSWORD=password123 \
  -e MONGODB_DATABASE=my_database bitnami/mongodb:latest

似乎您已設置了bitnami環境變量,但在未使用它們的地方使用了原始圖像image: mongo:latest 因此,要么使用image: bitnami/mongodb:latest ,要么手動添加用戶。

更新:

從v3.0開始,您可以從Localhost異常中受益,因此無需重新啟動容器。 相反,您可以在啟用身份驗證的情況下啟動它,等待服務器開始監聽,從容器內創建用戶,例如

docker exec mongo4 mongo test1 \
    --eval 'db.createUser({user: "test", pwd: "test123", roles: [ "readWrite", "dbAdmin" ]});'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM