使用Docker部署mongodb
#1. 建立独立的网络, 如果需要跟已存在的容器在一个网络,则不需要在建了
docker network create -d bridge --gateway 172.22.0.1 --subnet 172.22.0.0/16 mynet
# 创建容器
docker run --name mongo --network mynet \
--restart=always \
-e MONGO_INITDB_ROOT_USERNAME=mongoadmin \
-e MONGO_INITDB_ROOT_PASSWORD=yourpass \
-v /data/mongo/data:/data/db \
-v /data/mongo/logs:/var/log/mongodb \
-v /data/mongo/conf/mongod.conf:/etc/mongod.conf \
-p 27017:27017 \
-d mongo --auth
mongod.conf
配置如下, 也是默认配置,可以随便生成的容器,将这个文件考出来映射,方便以后修改
systemLog:
destination: file
path: "/var/log/mongodb/mongod.log"
logAppend: true
storage:
journal:
enabled: true
processManagement:
fork: true
net:
bindIp: ::,0.0.0.0
port: 27017
bindIpAll: true
setParameter:
enableLocalhostAuthBypass: false
登录mongo
进入mongo容器
docker exec -it mongo /bin/bash
登录mongo
mongosh -u mongoadmin
创建数据库,或者使用现有数据库
use new_db_or_exists_db
db.createUser({user:"username",pwd:"Password",roles:[{role: "readWrite", db: "new_db_or_exists_db"}], mechanisms: ["SCRAM-SHA-1"]})
客户端使用的数据库配置
mongodb:
host: $mongodb_server_ip
port: 27017
authentication-database: new_db_or_exists_db
username: username
password: Password
database: new_db_or_exists_db
先记录到这。
(417)