Docker 安装 MongoDB 及其工具

笔记 创建于: , 更新于: | Docker

MongoDB

获取镜像

1
2
docker pull mongo
mkdir -p /data/mongo/db

安装

1
2
3
4
5
6
docker run --restart=always -d \
  --name mongodb -p 27017:27017 \
  -v /data/mongo/db:/data/db \
  -e MONGO_INITDB_ROOT_USERNAME=admin \
  -e MONGO_INITDB_ROOT_PASSWORD=admin-password \
  --privileged=true mongo:latest

如果IP要绑定到主机上

1
2
3
4
5
6
7
docker run --restart=always -d \
  --name mongodb \
  --net host \
  -v /data/mongo/db:/data/db \
  -e MONGO_INITDB_ROOT_USERNAME=admin \
  -e MONGO_INITDB_ROOT_PASSWORD=admin-password \
  --privileged=true mongo:latest

Web 管理工具 —— Mongo-Express

采用 BASIC AUTH 认证,官方项目,是目前最支持的工具。

但是界面有点丑陋,

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/bash

docker run -d \
  --name mongo-express \
  -p 9081:8081 \
  --restart always \
  -e ME_CONFIG_BASICAUTH_USERNAME="uncle-it" \
  -e ME_CONFIG_BASICAUTH_PASSWORD="uncle-it.com" \
  -e ME_CONFIG_OPTIONS_EDITORTHEME="dracula" \
  -e ME_CONFIG_MONGODB_SERVER="192.168.1.80" \
  -e ME_CONFIG_MONGODB_PORT="27017" \
  -e ME_CONFIG_MONGODB_ENABLE_ADMIN="true" \
  -e ME_CONFIG_MONGODB_ADMINUSERNAME="admin" \
  -e ME_CONFIG_MONGODB_ADMINPASSWORD="admin888" \
  -e ME_CONFIG_MONGODB_AUTH_DATABASE="admin" \
  -e ME_CONFIG_SITE_COOKIESECRET="pnb0yNjV9fMKG7Hol1uQ" \
  -e ME_CONFIG_SITE_SESSIONSECRET="QRVnXr3leH6Di9WNFtIc" \
  mongo-express
  
  # website: https://hub.docker.com/_/mongo-express?xk=ShowRecommendedBadge&xt=Disabled
  # theme: https://codemirror.net/5/demo/theme.html

综合比较,我还是更倾向于用 DBGate

Web 管理工具 —— SQLPad

有用户认证,支持 PostgreSQL、MySQL 多数据库,但是不支持 MongoDB。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#!/bin/bash

docker run -d \
  --name my-sqlpad \
  -p 5030:3000 \
  --restart always \
  -e SQLPAD_ADMIN=[email protected] \
  -e SQLPAD_ADMIN_PASSWORD=123456789 \
  -e SQLPAD_COOKIE_SECRET=RMCTtuPzFe3YApWwrqv2 \
  sqlpad/sqlpad:latest

Web 管理工具 —— AdminMongo

该工具已经数年没更新了,不建议用。

安装命令:

1
2
3
4
5
docker run -d \
  --name my-adminmongo \
  -p 0.0.0.0:1234:1234 \
  --restart always \
  mrvautin/adminmongo

如果遇到不在白名单的情况。需要本地打包上传到服务器。

1
2
3
4
5
# 1. 电脑本地拉取
docker pull --platform linux/amd64 mrvautin/adminmongo:latest

# 2. 将镜像打包成压缩文件
docker save -o adminmongo.tar mrvautin/adminmongo:latest

会在命令行所在的目录内增加一个 adminmongo.tar 的文件。
把文件上传到服务器后执行:

导入离线镜像

1
podman load -i adminmongo.tar

导入完后,直接运行上面的 安装命令。

笔记标签:

评论 ( 如有任何问题,请在下方留言和讨论 )