Docker安装MongoDO

Docker安装MongoDO

win 上安装的,在 Linux 上大差不差,数据和配置两个挂载 ,主要是为了测试

1. 拉取镜像
dockerfile 复制代码
docker pull mongo

E:\docker\conf\ 创建 mongod.conf 配置文件

yaml 复制代码
# MongoDB 8.0.15 配置文件
storage:
  dbPath: /data/db
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
net:
  bindIp: 0.0.0.0
  port: 27017
security:
  authorization: enabled
processManagement:
  timeZoneInfo: /usr/share/zoneinfo
setParameter:
  enableLocalhostAuthBypass: false
2. 挂载
dockerfile 复制代码
docker run -d --name mongo -p 27017:27017 -v E:/docker/mongodb/data:/data/db -v E:/docker/mongodb/conf/mongod.conf:/etc/mongod.conf -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 mongo --config /etc/mongod.conf

docker run: 启动容器

-d: docker 后台运行

-name: 为容器创建名字

-e: 设置容器内的环境变量

-p 8848:8848: 将宿主机的27017端口映射到容器内的27017端口,mongodb的默认服务器端口是27017,外部访问要通过该端口;

mongo: 指定要运行的镜像和版本。

3. 引入依赖
java 复制代码
<properties>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <spring-boot.version>3.2.6</spring-boot.version>
    <mybatis-plus.version>3.5.11</mybatis-plus.version>
</properties>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
    
<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
</dependencyManagement>
5. application.yml 文件
yaml 复制代码
spring:
  data:
    mongodb:
      authentication-database: 0
      uri: mongodb://admin:123456@localhost:27017/chat_memory_db?authSource=admin
      username: admin
      password: 123456
6. DO对象
java 复制代码
package com.ihteima.domain.dos;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

/**
 * ClassName: ChatMessage
 * Package: com.ihteima.domain.dos
 * Description:
 *
 * @Auther 
 * @Create 2025/10/28 14:23
 * @Version 1.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Document("chat_message")
public class ChatMessage {

    @Id
    private Long messageId;
    //private Long messageId;

    private String content; //存储当前聊天记录列表的json字符串
}
6. test
java 复制代码
@SpringBootTest
public class MongoTest {

    @Autowired
    private MongoTemplate mongoTemplate;
    
    @Test
    public void test(){
        mongoTemplate.insert(new ChatMessage(1L, "你是谁"));
    }
}
相关推荐
ACP广源盛1392462567320 分钟前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
百年੭ ᐕ)੭*⁾⁾1 小时前
docker使用neo4j
docker·容器·neo4j
峥无2 小时前
Linux系统编程基石:静态库·动态库·ELF文件·进程地址空间全景图
linux·运维·服务器
码云数智-大飞2 小时前
本地部署大模型:隐私安全与多元优势一站式解读
运维·网络·人工智能
Harvy_没救了3 小时前
【网络部署】 Win11 + VMware CentOS8 + Nginx 文件共享服务 Wiki
运维·网络·nginx
春风有信3 小时前
【2026.05.01】Windows10安装Docker Desktop 4.71.0.0步骤及问题解决
运维·docker·容器
2401_873479404 小时前
断网时如何实时判断IP归属?嵌入本地离线库,保障风控不中断
运维·服务器·网络
守城小轩4 小时前
基于Chrome140的Yahoo自动化(关键词浏览)——需求分析&环境搭建(一)
运维·自动化·chrome devtools·浏览器自动化·指纹浏览器·浏览器开发
handler014 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
日取其半万世不竭6 小时前
LVM 逻辑卷管理:不停机扩容磁盘的正确方式
运维·服务器