Docker 如何安装、启动、配置 MongoDB?


前提已安装docker和docker-compose

安装mongodb

# 此处我将mongodb安装在/home/mongotest下
cd /home/
mkdir mongotest
cd mongotest/

# 创建docker-compose.yml文件
vi docker-compose.yml
# 进入编辑状态
i
# 粘贴以下内容
version: '3.1'
services:
  mongo:
    image: mongo
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: root   # 这里设置管理员账户为root
      MONGO_INITDB_ROOT_PASSWORD: example  # 密码example
    ports:
      - 27017:27017
    # mongo数据持久化
    volumes:
      - /home/mongotest:/data/db
# 退出编辑状态
esc 
# 保存
:wq

# 运行
docker-compose up -d

# 防火墙放行端口27017
# 查看firewalld状态,若为dead状态,则需要开启防火墙systemctl start firewalld
systemctl status firewalld
# 让防火墙永久放行27017端口
firewall-cmd --add-port=27017/tcp --permanent
# 重启防火墙
firewall-cmd --reload

初始化配置

cd mongotest/

# 连接数据库
# 注意:mongo5.0以下的版本使用mongo来替换mongosh,即docker exec -it mongotest_mongo_1 mongo
docker exec -it mongotest_mongo_1 mongosh

# 切换到管理员用户
use admin
db.auth('root','example') # 管理员授权登录
 
# 创建一个数据库testdb
use testdb

# 创建一个用户,用户名为test,密码123456。
db.createUser({user:'test',pwd:'123456',roles:[{role:'dbOwner',db:'testdb'}]})

# 测试下上面添加的用户是否可以登录数据库testdb
use testdb
db.auth('test','123456')

# 测试插入数据
db.users.insertOne({'name':'sue',age:30,email:'test@foxmail.com'})
show collections
db.users.find({})
db.users.insertOne({name:'soft',age:20})
db.users.find({})

# 测试更新
db.users.updateOne({name:'sue'},{$set:{email:'test1@foxmail.com'}})
db.users.find({})

# 测试删除
db.users.deleteOne({'name':'sue'})
db.users.find({})

GUI工具连接数据库(Robo 3T)

:连接之前,确保云服务器 端口27017已放行,详见《云服务设置端口放行》
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

备份与恢复

备份方式:docker cp + mongodump
恢复方式:docker cp + mongorestore

# mongotest_mongo_1 容器
# mongodump 指令
# -h 连接的mongodb的host
# -u 用户
# -p 密码
# -d 指定备份哪个数据库,不接的话代表备份所有数据库
# -o 指定备份到哪个目录

# 1.备份
docker exec -it mongotest_mongo_1 mongodump -h localhost -u root -p example -o /tmp/test
cd /tmp/
docker cp e401dcb60416:/tmp/test /tmp/test

# 2.恢复
docker exec -it mongotest_mongo_1 mongorestore -h localhost -u root -p example --dir /tmp/test

Nodejs中的Mongoose库

  • 比较
分类Oralce/MysqlMongoDBMongoose
1数据库实例MongoDB实例Mongoose
2模式(schema)数据库(database)mongoose
3表(table)集合(collection)模板(Schema) 模型(Model)
4行(row)文档(document)实例(instance)
5Prinary keyObject(_id)Object(_id)
6表字段ColumnFieldField
mkdir mongoose-demo
cd mongoose-demo
npm init -y
npm install -s mongoose
// app.js
const mongoose = require('mongoose')
mongoose.connect('mongodb://test:123456@121.199.33.98:27017/testdb',{useNewUrlParser: true})

// 连接数据库的Connection
const User = mongoose.model('users', {name: String, age: Number, email: String})

const imooc = new User({
  name: 'imooc-test',
  age:30,
  email: 'imooc@imooc.com'
})
imooc.save().then(() => {console.log('save OK!')})

node app.js

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 1. 使用命令 "docker pull mongo" 下载 MongoDB 镜像。 2. 使用命令 "docker run -d -p 27017:27017 --name mongodb mongo" 启动 MongoDB 容器。 3. 使用命令 "docker exec -it mongodb bash" 进入 MongoDB 容器。 4. 使用命令 "mongo" 连接 MongoDB 数据库。 5. 使用命令 "use admin" 切换到 admin 数据库。 6. 使用命令 "db.createUser({user: 'username', pwd: 'password', roles: [{role: 'root', db: 'admin'}] })" 创建超级用户。 7. 使用命令 "exit" 退出 MongoDB 容器。 8. 使用命令 "docker stop mongodb" 停止 MongoDB 容器。 9. 使用命令 "docker start mongodb" 启动 MongoDB 容器并使用创建的超级用户登录。 注意:在实际操作时,请将 "username" 和 "password" 替换为您自己的用户名和密码。 ### 回答2: Docker 是一个容器化技术,可以使得应用在不同的环境下得以快速部署。MongoDB 是一种流行的非关系型数据库,在 Docker 中使用 MongoDB 可以加速开发和测试过程。下面是在 Docker安装 MongoDB 的步骤: 1. 安装 Docker 首先需要安装 Docker安装方法可以参考官方文档:https://docs.docker.com/engine/install/ 2. 下载 MongoDB 镜像 在 Docker安装 MongoDB,需要下载 MongoDB 镜像。在终端中输入以下命令即可下载 MongoDB 镜像: ``` docker pull mongo ``` 3. 运行 MongoDB 容器 下面的命令将启动一个名为 mongodb容器,并在其内部运行 MongoDB: ``` docker run -d —name mongodb -p 27017:27017 mongo:latest ``` 其中,-d 告诉 Docker 在后台运行容器,--name 指定容器名称为 mongodb,-p 27017:27017 表示将容器内部的 27017 端口映射到主机的 27017 端口,最后的 mongo:latest 是镜像名称和版本号。 4. 连接 MongoDB 使用以下命令连接容器内的 MongoDB: ``` docker exec -it mongodb mongo ``` 其中,-it 表示以交互式会话进入容器内,mongo 是进入容器后要执行的命令。 5. 配置 MongoDB容器内部,执行以下命令可以配置 MongoDB: ``` use testdb db.stats() ``` 其中,use testdb 创建了一个名为 testdb 的数据库,db.stats() 可以查看数据库状态。可以在容器内部使用 MongoDB 的标准命令行工具进行操作。 以上就是在 Docker安装 MongoDB 并进行配置的详细步骤。通过 Docker,可以快速创建 MongoDB 环境,方便快捷地进行开发和测试。 ### 回答3: Docker是一个开源的容器化平台,它可以让开发者把应用程序和服务打包到一个容器中,并部署到任何支持Docker的机器上。Docker中最常用的应用就是MongoDB数据库,因为MongoDB可以轻松地扩展和存储大量数据。下面我们就来看看如何在Docker安装MongoDB并进行配置。 1.安装Docker 首先,你需要在你的服务器上安装Docker。如果你还没有安装Docker,请先在官方网站上下载并安装Docker。 2.拉取MongoDBDocker镜像 在安装配置之前,你需要拉取MongoDBDocker镜像。可以使用以下命令拉取MongoDB镜像: docker pull mongo 3.创建MongoDB容器 接下来,你需要创建一个MongoDB容器。可以使用以下命令创建MongoDB容器docker run -it -d --name mongo -p 27017:27017 mongo 通过上述命令,我们创建了名为“mongo”的容器,并将容器的端口映射到主机的端口27017上。这表示,当你连接到主机的端口27017时,实际上连接的是容器的端口27017,因此可以访问MongoDB。 4.连接MongoDB 现在,MongoDB容器已经准备就绪。你可以尝试连接到MongoDB容器来检查是否能成功连接。可以使用以下命令连接到MongoDBdocker exec -it mongo mongo 通过上述命令,你将进入到mongodb容器中,并成功连接到mongodb服务器上。 5.更改MongoDB配置 为了更强大的功能,可以修改一些MongoDB配置项,而Docker容器中的MongoDB配置文件类似于Linux系统上的MongoDB配置。因此,可以使用以下命令来编辑MongoDB配置文件: docker exec -it mongo vi /etc/mongodb.conf 然后你可以根据需要进行更改,并将更改保存到配置文件中。 6.重启MongoDB容器 最后,你需要重启MongoDB容器,以确保更改得到保存。可以使用以下命令来重启MongoDB容器docker restart mongo 经过以上步骤,你就完成了在Docker安装MongoDB并进行配置的操作。在完成此过程之后,你可以实现大规模部署和使用MongoDB数据库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值