部署mongo容器单机

部署mongo容器单机

  • [1. 拉取镜像](#1. 拉取镜像)
  • [2. 创建目录用来存放mongo数据](#2. 创建目录用来存放mongo数据)
  • 3.初始化数据库和用户
  • [4. 测试](#4. 测试)

1. 拉取镜像

bash 复制代码
podman pull mongo

2. 创建目录用来存放mongo数据

bash 复制代码
mkdir ~/mongodb-data
bash 复制代码
podman run -d \
--name mongodb \
-p 27017:27017 \
-v ~/mongodb-data:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=root \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
--restart=always \
mongo

3.初始化数据库和用户

bash 复制代码
# 直接在宿主机上执行mongosh,注意因为本案例使用了mongo 8.2.4版本,有mongosh,如果低于6,那么使用mongo

 podman exec -it mongodb mongosh
bash 复制代码
// 步骤1:认证root账号(已完成可跳过)
use admin;
db.auth("root", "123456");

// 步骤2:切换到xiongwu库(要给哪个库创建用户,就先切换到哪个库)
use xiongwu;

// 步骤3:创建专属业务用户(示例:用户名 xiongwu,密码 xiongwu_123456)权限:对xiongwu库拥有读写权限
db.createUser({
  user: "xiongwu",  
  pwd: "xiongwu_123456", 
  roles: [
    { role: "readWrite", db: "xiongwu" } 
  ]
});

4. 测试

建表插入数据,查询数据,测试下可用性

bash 复制代码
xiongwu> db.test.insert({ name: "test", value: 123 });
DeprecationWarning: Collection.insert() is deprecated. Use insertOne, insertMany, or bulkWrite.
{
  acknowledged: true,
  insertedIds: { '0': ObjectId('69835e5874372e578a8ce5b0') }
}
xiongwu> show collections;
test

xiongwu> show tables
test
xiongwu> db.test.find()
[
  { _id: ObjectId('69835e5874372e578a8ce5b0'), name: 'test', value: 123 }
]
xiongwu>

以上都正常,那么说明,这个环境可以用了。


本地可以看到mongo的数据库文件

相关推荐
rannn_1111 天前
【Redis|基础篇】初识、Redis的安装与启动、Redis命令、Java客户端
java·redis·后端·缓存·nosql
禅与计算机程序设计艺术6 天前
了解NoSQL的数据仓库和ETL
数据库·数据仓库·nosql·etl
heimeiyingwang10 天前
如何用向量数据库构建企业级语义检索系统
数据库·mongodb·nosql·milvus
workflower11 天前
多变量时间序列预测
java·hadoop·nosql·需求分析·big data·结对编程
heimeiyingwang12 天前
Chroma(轻量级向量数据库) 与 MongoDB(文档型 NoSQL 数据库) 的细节拆解
数据库·mongodb·nosql
长谷深风11112 天前
Redis入门:从MySQL到高效缓存的飞跃
redis·后端·mysql·缓存·nosql·java 开发
1104.北光c°16 天前
【黑马点评项目笔记 | 达人探店篇】点赞关注与Feed流
java·开发语言·spring boot·redis·笔记·java-ee·nosql
jiajia_lisa16 天前
通关速度的背后:一本护照的“数字旅程”
nosql
猫头虎17 天前
基于信创openEuler系统安装部署OpenTeleDB开源数据库的实战教程
数据库·redis·sql·mysql·开源·nosql·database
wengad17 天前
说说大模型的命名的含义
人工智能·大模型·基础设施