使用mongodb(bitnami)镜像

docker-compose快速启动一个mongodb,用于调试学习还是不错的,还有一个mongo-express的web管理页面

version: "3.9"
services:
  mongodb:
    image: docker.io/bitnami/mongodb:7.0.14
    restart: always
    container_name: mongodb7
    user: root
    ports:
      - 27017:27017
    environment:
      - MONGODB_ADVERTISED_HOSTNAME=mongodb
      - MONGODB_ROOT_PASSWORD=000000  #数据库密码
    volumes:
      - ./mongodb7_data:/bitnami/mongodb
      - /etc/localtime:/etc/localtime:ro


#mongodbweb管理工具
  mongdbmanager:
    container_name: mongomg
    restart: always
    image: mongo-express:1.0.2-20
    ports:
      - 8080:8081
    environment:
      ME_CONFIG_BASICAUTH: true
      ME_CONFIG_BASICAUTH_USERNAME: root #网页账号
      ME_CONFIG_BASICAUTH_PASSWORD: 000000  #网页密码
      ME_CONFIG_MONGODB_URL: mongodb://root:000000@mongodb7:27017
      #连接mongodb_url配置

如果有权限报错,导致mongodb容器无法启动,将绑定挂载出来的目录设置一个777权限

chmod 777 ./mongodb7_data

访问mongo-express容器映射出的8080端口,输入上面yaml中定义的网页账号和密码,进入如下页面,这个mongodb Web管理软件还是很简洁的
在这里插入图片描述

bitnami镜像中可以自己定义的环境变量如下

这个是我从官方文档里面弄下来的,不知道有没有错误,可以自己去bitnami的官方看看mongodb的环境变量

可自定义的环境变量

名称描述默认值
MONGODB_MOUNTED_CONF_DIR用于包含自定义配置文件的目录(覆盖默认生成的配置文件)${MONGODB_VOLUME_DIR}/conf
MONGODB_INIT_RETRY_ATTEMPTS检查服务初始化状态时的最大重试次数7
MONGODB_INIT_RETRY_DELAY每次重试检查服务初始化状态时的等待时间(秒)5
MONGODB_PORT_NUMBERMongoDB 的端口号$MONGODB_DEFAULT_PORT_NUMBER
MONGODB_ENABLE_MAJORITY_READ启用 MongoDB 操作中的多数读取true
MONGODB_DEFAULT_ENABLE_MAJORITY_READ默认启用 MongoDB 操作中的多数读取(在构建时设置)true
MONGODB_EXTRA_FLAGSMongoDB 初始化时的额外标志nil(无)
MONGODB_ENABLE_NUMACTL使用 numactl 执行命令false
MONGODB_SHELL_EXTRA_FLAGS使用 MongoDB 客户端进行初始化时的额外标志(在挂载初始化脚本时有用)nil(无)
MONGODB_ADVERTISED_HOSTNAME用于广告 MongoDB 服务的主机名nil(无)
MONGODB_ADVERTISE_IP是否将广告主机名设置为容器的 IPfalse
MONGODB_ADVERTISED_PORT_NUMBER广告的 MongoDB 端口号(如果你有代理转发请求到容器,建议设置此环境变量)nil(无)
MONGODB_DISABLE_JAVASCRIPT禁用 MongoDB 服务器端的 JavaScript 执行no
MONGODB_ENABLE_JOURNAL启用 MongoDB 的日志功能nil(无)
MONGODB_DISABLE_SYSTEM_LOG禁用 MongoDB 守护进程的系统日志nil(无)
MONGODB_ENABLE_DIRECTORY_PER_DB为每个数据库使用单独的文件夹存储数据nil(无)
MONGODB_ENABLE_IPV6使用 IPv6 进行数据库连接nil(无)
MONGODB_SYSTEM_LOG_VERBOSITYMongoDB 守护进程日志级别nil(无)
MONGODB_ROOT_USERMongoDB 的 root 用户名root
MONGODB_ROOT_PASSWORDMongoDB 的 root 用户密码nil(无)
MONGODB_USERNAME在初始化时生成的用户nil(无)
MONGODB_PASSWORD为 MONGODB_USERNAME 指定的非 root 用户设置的密码nil(无)
MONGODB_DATABASE在初始化时创建的数据库名称nil(无)
MONGODB_METRICS_USERNAME用于指标收集的用户,例如与 mongodb_exporter 配合使用nil(无)
MONGODB_METRICS_PASSWORD为 MONGODB_METRICS_USERNAME 指定的非 root 用户设置的密码nil(无)
MONGODB_EXTRA_USERNAMES用逗号或分号分隔的额外用户列表,初始化时创建nil(无)
MONGODB_EXTRA_PASSWORDS用逗号或分号分隔的密码列表,针对 MONGODB_EXTRA_USERNAMES 中指定的用户nil(无)
MONGODB_EXTRA_DATABASES用逗号或分号分隔的数据库列表,初始化时为 MONGODB_EXTRA_USERNAMES 指定的用户创建nil(无)
ALLOW_EMPTY_PASSWORD是否允许在没有设置密码的情况下访问 MongoDBno
MONGODB_REPLICA_SET_MODEMongoDB 副本集模式,可以是 primary、secondary 或 arbiternil(无)
MONGODB_REPLICA_SET_NAMEMongoDB 副本集的名称$MONGODB_DEFAULT_REPLICA_SET_NAME
MONGODB_REPLICA_SET_KEYMongoDB 副本集密钥nil(无)
MONGODB_INITIAL_PRIMARY_HOST副本集主节点的主机名(对于 arbiter 和 secondary 节点来说必要)nil(无)
MONGODB_INITIAL_PRIMARY_PORT_NUMBER副本集主节点的端口号(对于 arbiter 和 secondary 节点来说必要)27017
MONGODB_INITIAL_PRIMARY_ROOT_PASSWORD副本集主节点 root 用户密码(对于 arbiter 和 secondary 节点来说必要)nil(无)
MONGODB_INITIAL_PRIMARY_ROOT_USER副本集主节点 root 用户名(对于 arbiter 和 secondary 节点来说必要)root
MONGODB_SET_SECONDARY_OK将节点标记为可读。适用于 PVC 丢失的情况no
MONGODB_DISABLE_ENFORCE_AUTH默认启用 MongoDB 身份验证。如果设置为 true,MongoDB 将不强制身份验证false

这一块不能改的

只读环境变量

名称描述默认值
MONGODB_VOLUME_DIR持久化存储的基础目录$BITNAMI_VOLUME_DIR/mongodb
MONGODB_BASE_DIRMongoDB 安装目录$BITNAMI_ROOT_DIR/mongodb
MONGODB_CONF_DIRMongoDB 配置文件目录$MONGODB_BASE_DIR/conf
MONGODB_DEFAULT_CONF_DIRMongoDB 默认配置文件目录$MONGODB_BASE_DIR/conf.default
MONGODB_LOG_DIRMongoDB 日志目录$MONGODB_BASE_DIR/logs
MONGODB_DATA_DIRMongoDB 数据目录${MONGODB_VOLUME_DIR}/data
MONGODB_TMP_DIRMongoDB 临时目录$MONGODB_BASE_DIR/tmp
MONGODB_BIN_DIRMongoDB 可执行文件目录$MONGODB_BASE_DIR/bin
MONGODB_TEMPLATES_DIR存放 mongodb.conf 模板文件的目录$MONGODB_BASE_DIR/templates
MONGODB_MONGOD_TEMPLATES_FILEmongodb.conf 模板文件的路径$MONGODB_TEMPLATES_DIR/mongodb.conf.tpl
MONGODB_CONF_FILEMongoDB 配置文件的路径$MONGODB_CONF_DIR/mongodb.conf
MONGODB_KEY_FILEMongoDB 副本集密钥文件的路径$MONGODB_CONF_DIR/keyfile
MONGODB_DB_SHELL_FILEMongoDB dbshell 文件路径/.dbshell
MONGODB_RC_FILEMongoDB rc 配置文件路径/.mongorc.js
MONGOSH_DIRmongosh(MongoDB shell)目录的路径/.mongodb
MONGOSH_RC_FILEmongosh 配置文件路径/.mongoshrc.js
MONGODB_PID_FILEMongoDB PID 文件路径$MONGODB_TMP_DIR/mongodb.pid
MONGODB_LOG_FILEMongoDB 日志文件路径$MONGODB_LOG_DIR/mongodb.log
MONGODB_INITSCRIPTS_DIRMongoDB 容器初始化脚本目录/docker-entrypoint-initdb.d
MONGODB_DAEMON_USERMongoDB 系统用户mongo
MONGODB_DAEMON_GROUPMongoDB 系统用户组mongo
MONGODB_DEFAULT_PORT_NUMBER构建时指定的 MongoDB 端口号27017
MONGODB_DEFAULT_ENABLE_JOURNAL构建时是否启用 MongoDB 日志功能true
MONGODB_DEFAULT_DISABLE_SYSTEM_LOG构建时是否禁用 MongoDB 守护进程的系统日志false
MONGODB_DEFAULT_ENABLE_DIRECTORY_PER_DB构建时是否为每个数据库使用单独的目录存储数据false
MONGODB_DEFAULT_ENABLE_IPV6构建时是否使用 IPv6 进行数据库连接false
MONGODB_DEFAULT_SYSTEM_LOG_VERBOSITY构建时设置的 MongoDB 守护进程日志级别0
MONGODB_DEFAULT_REPLICA_SET_NAME构建时指定的 MongoDB 副本集名称replicaset
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐