
mongo-express是一个基于Node.js、Express和Bootstrap3开发的Web-based MongoDB管理界面。它提供直观的可视化操作界面,用于管理MongoDB数据库、集合及文档,支持多数据库连接、GridFS文件管理、响应式设计等功能,适用于开发环境下的MongoDB可视化管理。
构建镜像
从项目目录构建镜像:
bashdocker build -t mongo-express .
运行容器
确保已运行MongoDB容器,并通过--link参数指定MongoDB容器名称:
bashdocker run -it --rm -p 8081:8081 --link YOUR_MONGODB_CONTAINER:mongo mongo-express
环境变量配置
可通过以下环境变量修改容器配置:
| 环境变量名称 | 默认值 | 描述 |
|---|---|---|
ME_CONFIG_MONGODB_SERVER | mongo 或 localhost | MongoDB主机名或IP地址。配置文件默认localhost,Docker镜像默认mongo |
ME_CONFIG_MONGODB_PORT | 27017 | MongoDB端口 |
ME_CONFIG_MONGODB_ENABLE_ADMIN | false | 启用管理员访问,值为字符串:"true" 或 "false" |
ME_CONFIG_MONGODB_ADMINUSERNAME | `` | 管理员用户名 |
ME_CONFIG_MONGODB_ADMINPASSWORD | `` | 管理员密码 |
ME_CONFIG_MONGODB_AUTH_DATABASE | db | 数据库名称(仅当ENABLE_ADMIN为"false"时需要) |
ME_CONFIG_MONGODB_AUTH_USERNAME | admin | 数据库用户名(仅当ENABLE_ADMIN为"false"时需要) |
ME_CONFIG_MONGODB_AUTH_PASSWORD | pass | 数据库密码(仅当ENABLE_ADMIN为"false"时需要) |
ME_CONFIG_SITE_BASEURL | / | 设置Express基础URL,便于在子目录挂载,需包含前导和尾随斜杠 |
ME_CONFIG_SITE_COOKIESECRET | cookiesecret | cookie-parser中间件用于签名cookie的字符串 |
ME_CONFIG_SITE_SESSIONSECRET | sessionsecret | express-session中间件用于签名会话ID cookie的字符串 |
ME_CONFIG_BASICAUTH_USERNAME | admin | mongo-express Web登录用户名,空字符串表示禁用基本认证 |
ME_CONFIG_BASICAUTH_PASSWORD | pass | mongo-express Web登录密码 |
ME_CONFIG_REQUEST_SIZE | 100kb | 配置最大Mongo更新负载大小,超过此大小的CRUD操作将因body-parser限制失败 |
ME_CONFIG_OPTIONS_EDITORTHEME | rubyblue | Web编辑器颜色主题,更多主题见CodeMirror主题 |
ME_CONFIG_SITE_SSL_ENABLED | false | 启用SSL |
ME_CONFIG_SITE_SSL_CRT_PATH | `` | SSL证书文件路径 |
ME_CONFIG_SITE_SSL_KEY_PATH | `` | SSL密钥文件路径 |
使用示例
bashdocker run -it --rm \ --name mongo-express \ --link web_db_1:mongo \ -p 8081:8081 \ -e ME_CONFIG_OPTIONS_EDITORTHEME="ambiance" \ -e ME_CONFIG_BASICAUTH_USERNAME="" \ mongo-express
此示例链接到docker-compose生成的典型容器名称,修改编辑器主题为"ambiance",并禁用基本认证。
访问方式
容器默认暴露8081端口,访问http://localhost:8081即可使用;若作为中间件挂载,需访问配置的config.site.baseUrl路径。
mongo-express文档编辑器/查看器支持以下BSON数据类型:
ObjectID()(创建新ID)、ObjectID(id)(使用24位十六进制字符串ID)ISODate()(当前时间)、ISODate(timestamp)(指定时间戳),也支持new Date()DBRef(collection, objectID)、DBRef(collection, objectID, database)(数据库参数可选)Timestamp()(值为0)、Timestamp(time, ordinal)(如Timestamp(ISODate(), 0))Code(code)(代码可为原生Javascript函数或字符串,不支持作用域/上下文)MinKey()MaxKey()Symbol(string)key和value生成MongoDB find()对象,返回所有字段find和projection对象传递给db.collection.find(query, projection),find用于查询,projection用于指定返回字段document._id属性才能编辑MIT License
Copyright (c) 2012 Chun-hao Hu
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务