1. 部署MongoDB

  1. 拉取 MongoDB 镜像
    首先,需要从 Docker Hub 拉取 MongoDB 的官方镜像(版本不要选择太高):
    docker pull mongo:4.4

  2. 创建挂载目录
    mkdir -p /home/mongodb_data
    注意:如果要删除容器重建,需要把挂载目录删除重新创建,否则新密码不生效

  3. 运行 MongoDB 容器
    使用以下命令运行 MongoDB 容器:

docker run -d --name mongodb \
  -p 27017:27017 \
  -v mongodb_data:/data/db \
  -e MONGO_INITDB_ROOT_USERNAME=root \
  -e MONGO_INITDB_ROOT_PASSWORD=example \
  mongo:4.4
  
参数说明:
-d:以后台模式运行容器。
--name mongodb:给容器命名为 mongodb。
-p 27017:27017:将主机的 27017 端口映射到容器的 27017 端口(默认 MongoDB 端口)。
-v mongodb_data:/data/db:将数据目录挂载到名为 mongodb_data 的 Docker 卷,这样可以在容器重启后保持数据持久性。
-e MONGO_INITDB_ROOT_USERNAME=root:设置 MongoDB 初始化用户的用户名。
-e MONGO_INITDB_ROOT_PASSWORD=example:设置 MongoDB 初始化用户的密码。
mongo:4.4:指定容器使用的镜像名称与标签。
  1. 验证 MongoDB 是否运行
    可以使用 curl 检查 MongoDB 是否正在运行:
    curl -i http://localhost:27017
    如果 MongoDB 正在运行,将看到类似以下的响应:
HTTP/1.1 200 OK
{ "ok" : 1 }
  1. 连接到 MongoDB
    通过 MongoDB 客户端或使用 shell 连接到正在运行的 MongoDB 容器。例如,可以使用 Docker 容器的 MongoDB 客户端:
    docker exec -it mongodb mongo -u root -p example --authenticationDatabase admin

2. 部署Mongo Express

  1. 拉取 Mongo Express 镜像:
    docker pull mongo:latest

  2. 部署 Mongo Express 容器

docker run -d --name mongo-express \
  -e ME_CONFIG_MONGODB_SERVER=10.132.1.127 \
  -e ME_CONFIG_MONGODB_PORT=27017 \
  -e ME_CONFIG_MONGODB_ADMINUSERNAME=root \
  -e ME_CONFIG_MONGODB_ADMINPASSWORD=example \
  -e ME_CONFIG_BASICAUTH_USERNAME=admin \
  -e ME_CONFIG_BASICAUTH_PASSWORD=Admin0321 \
  -p 27018:8081 \
  mongo-express:latest

 
参数说明:
--name mongo-express:指定容器名称。
-e ME_CONFIG_MONGODB_SERVER=10.132.1.127:指定 MongoDB 服务器的名称(这里使用10.132.1.127,是上文之前启动的 MongoDB容器所在宿主机的IP)。
-e ME_CONFIG_MONGODB_PORT=27017:指定 MongoDB 的端口。
-e ME_CONFIG_MONGODB_ADMINUSERNAME=root:MongoDB 管理员用户名。
-e ME_CONFIG_MONGODB_ADMINPASSWORD=example:MongoDB 管理员密码。
-e ME_CONFIG_BASICAUTH_USERNAME=admin: web访问账号
-e ME_CONFIG_BASICAUTH_PASSWORD=Admin0321: web访问密码
-p 27018:8081:将主机的 27018 端口映射到 Mongo Express 容器的 8081 端口。
  1. 页面访问
    浏览器访问:http://{宿主机ip}:27018/
    输入账号密码登录即可
    在这里插入图片描述

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐