创建 Mongo docker 图像并将用户添加到数据库
Create Mongo docker image and add user to database
我正在尝试找到一种创建 docker 容器的方法,该容器在创建时会自动创建数据库用户配置文件。我正在使用 docker 文件并认为我可以添加命令以在其中创建用户。
以前有人做过这个并且知道我在这里做错了什么。我不是 Docker.
方面的专家
FROM mongo:latest
RUN mongo &&\
use tewtdb &&\
db.createUser({user: '<user>', pwd: '<pwrd>', roles[{role: 'dbOwner', db: 'tewtdb'}]})
EXPOSE 27017
CMD ["mongod"]
shell
docker run --name mongodb -d -e MONGO_INITDB_ROOT_USERNAME=user -e MONGO_INITDB_ROOT_PASSWORD=pwd -v D:/mdb:/data/db -p 27117:27017 mongo:5.0
dockerfile-compose
version: '3'
services:
standalone:
image: mongo:5.0
ports:
- 27117:27017
environment:
- MONGO_INITDB_ROOT_USERNAME=user
- MONGO_INITDB_ROOT_PASSWORD=pwd
volumes:
- D:/mdb:/data/db
docker-compose -f docker-compose.yml up -d
我正在尝试找到一种创建 docker 容器的方法,该容器在创建时会自动创建数据库用户配置文件。我正在使用 docker 文件并认为我可以添加命令以在其中创建用户。
以前有人做过这个并且知道我在这里做错了什么。我不是 Docker.
方面的专家FROM mongo:latest
RUN mongo &&\
use tewtdb &&\
db.createUser({user: '<user>', pwd: '<pwrd>', roles[{role: 'dbOwner', db: 'tewtdb'}]})
EXPOSE 27017
CMD ["mongod"]
shell
docker run --name mongodb -d -e MONGO_INITDB_ROOT_USERNAME=user -e MONGO_INITDB_ROOT_PASSWORD=pwd -v D:/mdb:/data/db -p 27117:27017 mongo:5.0
dockerfile-compose
version: '3'
services:
standalone:
image: mongo:5.0
ports:
- 27117:27017
environment:
- MONGO_INITDB_ROOT_USERNAME=user
- MONGO_INITDB_ROOT_PASSWORD=pwd
volumes:
- D:/mdb:/data/db
docker-compose -f docker-compose.yml up -d