mongo-express在arm64下不能正常运行的解决

一、在arm64下运行异常现象

<--- Last few GCs --->
<--- JS stacktrace --->
#
# Fatal process OOM in insufficient memory to create an Isolate
#

二、排查方法
进行容器中查看,直接运行node时同样报错(node版本为12),说明node不行正常运行。

docker run -d -it --rm  --entrypoint /bin/sh --name mongo-express  mongo-express:0.54

/node_modules # node
<--- Last few GCs --->
<--- JS stacktrace --->
#
# Fatal process OOM in insufficient memory to create an Isolate
#
Trace/breakpoint trap (core dumped)

三、解决方法:
替换容器中的node版本,升级为14

FROM node:14-alpine3.15 AS build

FROM  mongo-express:0.54
COPY --from=build /usr/local/bin/node  /usr/local/bin/node

docker build -t mongoexpress:0.54 .

### MongoDB 与 Mongo-Express 的使用方法、安装与配置 MongoDB 是一个流行的 NoSQL 数据库,而 Mongo-Express 是一个基于 Web 的 MongoDB 管理工具,允许用户通过图形界面进行数据库操作。以下是 MongoDB 与 Mongo-Express 的安装、配置及使用方法。 #### 安装与配置 ##### 使用 Docker 部署 MongoDB 与 Mongo-Express 通过 Docker 部署 MongoDB 和 Mongo-Express 是一种高效的方式,可以借助 `docker-compose.yml` 文件一次性启动两个服务,并配置它们共享网络环境以实现通信。 以下是一个示例的 `docker-compose.yml` 文件: ```yaml version: '3.1' services: mongo: image: mongo:6.0 restart: always environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: example volumes: - ./data:/data/db ports: - 27017:27017 mongo-express: image: mongo-express restart: always ports: - 8081:8081 environment: ME_CONFIG_MONGODB_ADMINUSERNAME: root ME_CONFIG_MONGODB_ADMINPASSWORD: example ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/ ``` 该配置文件定义了两个服务:`mongo` 和 `mongo-express`。MongoDB 容器使用 `mongo:6.0` 镜像,并设置了管理员用户名和密码。Mongo-Express 容器则通过 `ME_CONFIG_MONGODB_URL` 环境变量连接到 MongoDB 容器,并使用相同的用户名和密码进行身份验证。 执行以下命令启动服务: ```bash docker-compose up -d ``` MongoDB 将在 `27017` 端口运行,而 Mongo-Express 则在 `8081` 端口提供 Web 界面。 ##### 安全性配置 为了增强安全性,建议采取以下措施: - **修改默认的用户名和密码**,避免使用弱密码。 - **设置数据库的黑名单/白名单**,限制对敏感数据的访问。 - **定期备份数据库**,以防数据丢失。 - **使用监控工具** 监控 Mongo-Express运行状态,及时发现并解决问题 [^2]。 #### 使用方法 ##### 登录 Mongo-Express 启动服务后,可以通过浏览器访问 `http://localhost:8081` 来打开 Mongo-Express 的 Web 界面。输入 MongoDB 的管理员用户名和密码即可登录。 ##### 数据库操作 在 Mongo-Express 的 Web 界面中,用户可以执行以下操作: - **查看数据库**:列出所有数据库,并选择特定数据库进行操作。 - **集合管理**:创建、删除和重命名集合。 - **文档管理**:插入、更新和删除文档。 - **查询执行**:编写和执行查询语句,查看查询结果 [^2]。 ##### 远程客户端连接 除了通过 Web 界面管理数据库,还可以使用远程客户端连接 MongoDB。例如,使用 `mongo` 命令行工具连接 MongoDB: ```bash mongo -u root -p example --authenticationDatabase admin ``` 该命令将使用指定的用户名和密码连接到 MongoDB 数据库 [^3]。 #### 典型生态项目 Mongo-Express 是基于 Node.js 开发的,因此与 Node.js 生态系统紧密相关。它使用了 Express 框架,因此也与 Express 生态系统紧密相关 [^2]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值