本人喜欢直接用 docker-compose.yml
来部署 docker 项目,虽然对于集群可能还不够看,但是单机使用已经绰绰有余了。
# docker-compose.yml
version: "3"
services:
# 这里配置自己的项目
server:
build: .
restart: always
ports:
- "8080:8080"
environment:
NODE_ENV: production
MONGO_URL: "mongodb://mongo:27017/"
depends_on: # 一定要先启动 MongoDB
- mongo
mongo:
image: mongo:4.2.6
restart: always
volumes:
- mongo-data:/data/db
environment:
MONGO_INITDB_ROOT_USERNAME: "admin" #设置root用户
MONGO_INITDB_ROOT_PASSWORD: "123456"
volumes:
mongo-data:
接下来就到了连接数据库了,这里采用 mongoose
这个库来连接
import mongoose from 'mongoose'
const url = process.env.MONGO_URL
const db = mongoose.createConnection(url, {
auth: {
user: process.env.DB_USER || 'admin',
password: process.env.DB_PASSWORD || '123456',
},
dbName: 'docker',
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
useFindAndModify: false,
})
db.on('error', console.error.bind(console, '连接错误 :'))
db.once('open', () => {
console.log('mongoose 已连接')
})
当使用 root 用户连接的时候,一定要直接连到根目录,例如 mongodb://mongo:27017/
,末尾是不带 dbName 的。如果是 dbName 的 User,则要连到指定 db 才行。
- 本文链接: https://wp.cmyr.ltd/archives/mongodb-enable-permission-verification-under-dock-and
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
欢迎关注我的其它发布渠道
发表回复
要发表评论,您必须先登录。