Docker 部署 MongoDB 数据库

embedded/2024/10/21 5:34:08/

文章目录

  • 官网地址
  • docker 网络
  • mongod.conf
  • 部署 MongoDB
  • 部署 mongo-express
  • docker-compose.yml
  • MongoDB shell

官网地址

docker__4">docker 网络

# 创建 mongo_network 网络
docker network create mongo_network
# 查看网络
docker network list
# 容器连接到 mongo_network 网络
docker network connect mongo_network mongo
# 断开容器 mongo_network 网络
docker network disconnect mongo_network mongo

mongod.conf

# 容器内查看 mongod.conf
cat /etc/mongod.conf.orig
  • 缩主机上创建 mongo/configdb/mongod.conf
# 数据
storage:dbPath: /data/dbjournal:enabled: true
# 日志
systemLog:destination: filelogAppend: truepath: /var/log/mongodb/mongod.log
# 端口
net:port: 27017# bindIp: 127.0.0.1
# 安全
security:authorization: enabled

部署 MongoDB

  • https://hub.docker.com/_/mongo
# MongoDB镜像
docker pull mongo:4
docker run --name mongo \
--network mongo_network \
-p 27017:27017 \
-v $PWD/mongo/data:/data/db \
-v $PWD/mongo/configdb:/data/configdb \
-v $PWD/mongo/logs:/var/log/mongodb \
-e MONGO_INITDB_ROOT_USERNAME="root" \
-e MONGO_INITDB_ROOT_PASSWORD="4NuMDwIzp05BdKp7Bdmf" \
-d mongo:4 \
--config /data/configdb/mongod.conf
  • 指定服务执行器与缓存大小
docker run --name mongo \
--network mongo_network \
-p 27017:27017 \
-v $PWD/mongo/data:/data/db \
-v $PWD/mongo/configdb:/data/configdb \
-v $PWD/mongo/logs:/var/log/mongodb \
-e MONGO_INITDB_ROOT_USERNAME="root" \
-e MONGO_INITDB_ROOT_PASSWORD="4NuMDwIzp05BdKp7Bdmf" \
-d mongo:4 \
--config /data/configdb/mongod.conf \
--serviceExecutor adaptive --wiredTigerCacheSizeGB 1.2

部署 mongo-express

  • https://hub.docker.com/_/mongo-express
# mongo-express镜像
docker pull mongo-express:1.0.2
docker run --name mongo-express \--network mongo_network \-p 8081:8081 \-e ME_CONFIG_MONGODB_SERVER=mongo \-e ME_CONFIG_MONGODB_ADMINUSERNAME="root" \-e ME_CONFIG_MONGODB_ADMINPASSWORD="4NuMDwIzp05BdKp7Bdmf" \# 设置 mongo-express 登录账号密码-e ME_CONFIG_BASICAUTH=true \-e ME_CONFIG_BASICAUTH_USERNAME="admin" \-e ME_CONFIG_BASICAUTH_PASSWORD="123456" \-d mongo-express:1.0.2
  • 查看默认登录账号密码
# 进入 mongo-express 容器内
docker exec -it mongo-express /bin/bash
# 查看config.default.js
cat /app/config.default.js

在这里插入图片描述

注意: 默认登录账号密码是 admin/passdocker配置中已经将登录账号密码设置为 admin/123456

  • http://localhost:8081/

在这里插入图片描述

dockercomposeyml_105">docker-compose.yml

services:mongo:image: mongo:4container_name: mongorestart: alwaysports:- 27017:27017volumes:- /etc/localtime:/etc/localtime- ./mongo/data:/data/db- ./mongo/configdb:/data/configdb- ./mongo/logs:/var/log/mongodbenvironment:MONGO_INITDB_ROOT_USERNAME: rootMONGO_INITDB_ROOT_PASSWORD: 4NuMDwIzp05BdKp7Bdmfcommand: --config /data/configdb/mongod.conf --wiredTigerCacheSizeGB 1# command: --config /data/configdb/mongod.conf --wiredTigerCacheSizeGB 1.2 --serviceExecutor adaptivemongo-express:image: mongo-express:1.0.2container_name: mongo-expressrestart: alwaysports:- 8081:8081environment:ME_CONFIG_OPTIONS_EDITORTHEME: "ambiance"ME_CONFIG_MONGODB_ADMINUSERNAME: rootME_CONFIG_MONGODB_ADMINPASSWORD: 4NuMDwIzp05BdKp7BdmfME_CONFIG_MONGODB_SERVER: mongo# ME_CONFIG_MONGODB_URL: mongodb://root:4NuMDwIzp05BdKp7Bdmf@mongo:27017/ME_CONFIG_BASICAUTH: trueME_CONFIG_BASICAUTH_USERNAME: adminME_CONFIG_BASICAUTH_PASSWORD: 123456depends_on:- mongo
  • http://localhost:8081/

注意: 登录账号密码已改为 admin/123456

MongoDB shell

# 进入 mongo 容器内
docker exec -it mongo /bin/bash
# 或直接进容器内的 MongoDB shell
docker exec -it mongo mongo
# 切换数据库
> use admin
# 管理员身份连接(MONGO_INITDB_ROOT_USERNAME配置值)
> db.auth("root",passwordPrompt())
# 输入密码(MONGO_INITDB_ROOT_PASSWORD配置值)# 显示数据库
> show dbs
# 显示用户
> show users

在这里插入图片描述

# 帮助
$ help
# 退出
$ exit

在这里插入图片描述


http://www.ppmy.cn/embedded/4733.html

相关文章

SHELL脚本编程----ps分析-统计VSZ,RSS各自总和

描述 假设命令运行的结果我们存储在nowcoder.txt里,格式如下: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 37344 4604 ? Ss 2020 2:13 /sbin/init root 231 0.0 1.5 …

nginx反向代理及负载均衡

node1192.168.136.55Nginx主负载均衡器node3192.168.136.57Web01服务器node4192.168.136.58Web02服务器node5192.168.135.131客户端(测试) nginx反向代理 1. 安装nginx 三台机器都安装nginx yum install nginx -y 2. 配置用于测试的Web服务(以下操作…

华为ensp中静态路由和默认路由的原理及配置

作者主页&#xff1a;点击&#xff01; ENSP专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年4月17日17点37分 默认路由 [Router] ip route-static <目的网络> <目的网络掩码> <下一跳地址>默认路由的作用是将无法匹配路由表中其他路由表项的…

Android Studio修改项目包名

1.第一步&#xff0c;项目结构是这样的&#xff0c;3个包名合在了一起&#xff0c;我们需要把每个包名单独展示出来 2.我们点击这个 取消选中后的包名结构是这样的&#xff0c;可以看到&#xff0c;包名的每个文件夹已经展示分开了&#xff0c;现在我们可以单独对每个包名文件夹…

4.20+C语言感想,有趣的思考题,case的省略操作,统计位数,终止循环,break和continue语句, 准备下一篇见。

鹏哥C语言感想 一.高级 这可不是什么煎饼&#xff0c;这种食物叫做蓝莓&#xff0c;俗称苹果。生长在撒哈拉沙漠的雨林地带。因外形酷似企鹅&#xff0c;所以我们又喜欢叫他北极熊。你们这些人&#xff0c;连仙人掌都不知道&#xff0c;就不要乱说他是西瓜好吗&#xff1f;再…

Unity之圆环slider

一、参考文章 Unity_圆环滑动条&#xff08;圆形、弧形滑动条&#xff09;_unity弧形滑动条-CSDN博客 此滑动条拖动超过360后继续往前滑动值会从0开始&#xff0c;正常我们超过360度时不可在滑动。 二、 超过360度不可滑动问题解决 参考HTML文章制作&#xff1a; https://www.c…

Unity UGUI透明区域点击无效

是这样的&#xff0c;我有一张图&#xff0c;客户给的是1920*1080&#xff0c;但只有中间部分是按钮&#xff0c;是有效像素。为了让空白区域点击无效。需要设置如下 并且加上下面这句 this.GetComponent<Image>().alphaHitTestMinimumThreshold 0.1f;

Phpstorm环境配置与应用

PhpStorm是一款专业的PHP集成开发环境&#xff08;IDE&#xff09;&#xff0c;提供了丰富的功能和工具&#xff0c;可以帮助开发者更高效地开发PHP应用程序。下面是PhpStorm环境配置与应用的步骤: 下载和安装PhpStorm&#xff1a;从官方网站&#xff08;https://www.jetbrains…