Docker:在Mac的docker.desktop中安装mongo

一、准备工作

确保你已经安装并启动了 Docker。

powershell 复制代码
docker -v

能看到版本号说明 Docker 正常运行。

二、拉取 MongoDB 镜像

建议指定一个稳定的版本,例如 6.0,不推荐直接使用 latest。

powershell 复制代码
docker pull mongo:6.0

三、创建数据持久化目录(重要)

为了防止容器重启后数据丢失,需要在宿主机创建一个目录映射到容器内部。

powershell 复制代码
mkdir -p /Users/mac/docker/mongodb/data

四、运行 MongoDB 容器

执行以下命令启动一个 MongoDB 实例:

powershell 复制代码
docker run -d \
  --name mongodb \
  -p 27017:27017 \
  -v /Users/mac/docker/mongodb/data:/data/db \
  mongo:6.0

参数说明:

  • -d:后台运行容器。
  • --name mongodb:给容器命名为 mongodb。
  • -p 27017:27017:将宿主机的 27017 端口映射到容器的 27017 端口。
  • -v /Users/mac/docker/mongodb/data:/data/db:挂载数据卷,实现数据持久化。

五、验证 MongoDB 是否运行成功

1️⃣ 查看容器运行状态

powershell 复制代码
docker ps

如果能看到名为 mongodb的容器且状态为 Up,说明启动成功。

2️⃣ 进入容器内部使用命令行

powershell 复制代码
docker exec -it mongodb mongosh

执行后,如果进入了 MongoDB 的交互式命令行(显示 test>),说明数据库完全就绪。

六、设置用户名和密码(生产环境必做)

如果你需要账号密码认证,可以使用以下命令运行容器:

powershell 复制代码
docker run -d \
  --name mongodb \
  -p 27017:27017 \
  -v /Users/mac/docker/mongodb/data:/data/db \
  -e MONGO_INITDB_ROOT_USERNAME=admin \
  -e MONGO_INITDB_ROOT_PASSWORD=123456 \
  mongo:6.0
  • -e MONGO_INITDB_ROOT_USERNAME:设置超级管理员用户名。
  • -e MONGO_INITDB_ROOT_PASSWORD:设置对应的密码。

七、连接字符串示例

在你的应用程序(如 Node.js、Python)中,可以使用以下格式的 URI 进行连接:

powershell 复制代码
无密码:
mongodb://localhost:27017
有密码:
mongodb://admin:123456@localhost:27017/?authSource=admin

八、常用运维命令

powershell 复制代码
停止容器docker stop mongodb
启动容器docker start mongodb
重启容器docker restart mongodb
查看日志docker logs -f mongodb
删除容器docker rm -f mongodb
相关推荐
counterxing17 小时前
最近发现一个 Mac 工具,有点像把 Raycast、语音输入法、截图和录屏塞到了一起
macos·ai编程·claude
Patrick_Wilson3 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy3 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭3 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩4 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵5 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1115 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽6 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康8 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
元Y亨H8 天前
MacBook Air 开发神器:IDEA 与 PyCharm 极简安装及环境配置
macos