MongoDB docker 方式启动

本文介绍如何使用Docker和docker-compose配置MongoDB数据库及Mongo Express管理界面。具体步骤包括创建目录、编写docker-compose.yml文件定义服务、启动容器并进行基本的数据操作。
mkdir -pv mongodb/database

cd mongodb

docker-compose.yml:


version: '3.8'
services:
  mongodb:
    image: mongo:4.2.12
    container_name: mongdb
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: rootpassword
    ports:
      - 27017:27017
    volumes:
      - /root/mongo/database:/data/db

  mongo_express:
    image: mongo-express:0.54.0
    container_name: mongo-express
    environment:
      - ME_CONFIG_OPTIONS_EDITORTHEME=default
      - ME_CONFIG_MONGODB_SERVER=mongodb
      - ME_CONFIG_MONGODB_PORT=27017
      - ME_CONFIG_MONGODB_ENABLE_ADMIN=true
      - ME_CONFIG_MONGODB_AUTH_DATABASE=loca
      - ME_CONFIG_MONGODB_ADMINUSERNAME=root
      - ME_CONFIG_MONGODB_ADMINPASSWORD=rootpassword
    ports:
      - 10.240.71.238:8082:8082
    restart: on-failure
    depends_on:
      - mongodb
    healthcheck:
      test:  wget --quiet --tries=3 --spider http://root:rootpassword@10.240.71.238:8082 || exit 1
      interval: 30s
      timeout: 10s
      retries: 3

docker exec -it mongodb_mongodb_1 bash

@0f920ec17c40:/# mongo
user food
db.createCollection("fruits")
db.fruits.insertMany([ {name: "apple", origin: "usa", price: 5}, {name: "orange", origin: "italy", price: 3}, {name: "mango", origin: "malaysia", price: 3} ])
show databases
use food
show collections
db.fruits.find().pretty()
docker logs mongodb

docker inspect mongo-express 可登录:8081端口查看数据库.

### 在 Docker 中安装和配置 MongoDB #### 使用官方镜像部署 MongoDB 实例 对于希望快速设置 MongoDB 的用户来说,利用 Docker Hub 上的官方 MongoDB 镜像是最简便的方法之一。通过简单的命令即可创建一个新的容器来运行 MongoDB 服务。 ```bash sudo docker pull mongo:latest ``` 此操作会下载最新版本的 MongoDB 映像文件到本地机器上[^1]。 #### 创建持久化存储卷 为了确保数据的安全性和可移植性,在启动 MongoDB 容器之前应该先定义好用于保存数据库文件的位置: ```bash mkdir -p /app/mongodb/data/db ``` 上述指令会在主机系统的 `/app/mongodb/` 路径下建立名为 `data/db` 的目录结构作为后续挂载点使用[^2]。 #### 启动带有特定参数的 MongoDB 容器 当一切准备就绪之后,则可以通过下面这条较长但是功能更丰富的命令行语句来真正意义上激活 MongoDB 数据库实例: 针对 MongoDB 3.0 版本: ```bash sudo docker run -d \ --network host \ --restart=always \ -v /app/mongodb3-0/db:/data/db \ -v /app/mongodb3-0/configdb:/data/configdb \ -v /etc/localtime:/etc/localtime:ro \ --name mongodb3-0 mongo:3 mongod \ -f /data/configdb/mongod.conf ``` 而对于较新的 MongoDB 6.0 单机复制集环境而言, 则需稍作调整如下所示 : ```bash sudo docker run -d \ --network host \ --restart=always \ -v /app/mongodb6-0/db:/data/db \ -v /app/mongodb6-0/configdb:/data/configdb \ -v /etc/localtime:/etc/localtime:ro \ --log-opt max-size=1g \ --log-opt max-file=2 \ --name mongodb6-0 mongo:6 mongod \ -f /data/configdb/mongod.conf ``` 这里不仅指定了日志管理策略(最大尺寸与保留份数),还特别强调了要加载自定义配置文件以满足不同场景下的需求[^3]。 #### 初始化配置过程 完成以上步骤后,通常还需要进入正在运行中的容器内部执行一些必要的初始化工作,比如创建管理员账户、设定权限等重要事项。这一步骤具体取决于实际应用场景和个人偏好而定。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值