mongodb-docker-compos-安装

镜像信息

dockerFile: https://github.com/docker-library/mongo

初始化创建

mkdir -p {db,configdb,logs,mongodbConfig}
touch docker-compose.yml

配置7.0

services:
  mongo-7.0.0-server:
    image: mongodb/mongodb-community-server:7.0.0-ubi8
    container_name: mongo-7.0.0-server
    restart: always
    privileged: true
    environment:
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=111111
    ports:
      - 20017:27017
    volumes:
      - ./db:/data/db
      - ./configdb/mongod.conf:/data/configdb/mongod.conf
      - ./mongodbLog:/var/log/mongodb/
    command:
      - --wiredTigerCacheSizeGB
      - '1.5'
    logging:
      driver: "json-file"
      options:
        max-size: "500m" #限制文件大小
        max-file: "3" #限制数量

[!注意]

需要对 db 文件赋予权限,否则没法写入,执行 chmod 755 ./db
这里我没深究,应该是用户不对之类的,看了下dockerFie 会创建一个 999 的用户和分组

测试

# 查看容器日志
docker logs -f mongo-7.0.0-server
# 进入容器
docker exec -it mongo-7.0.0-server bash
mongosh
# 选择 admin
use admin 
# 鉴权
db.auth('root', '111111')
# 获取用户
db.getUsers()

配置4.4ps:官方不维护…

version: "3.3"
services:
  mongo-4.4.10-server:
    image: mongo:4.4.10
    container_name: mongo-4.4.10-server
    restart: always
    privileged: true
    environment:
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=111111
    ports:
      - 20017:20017
    volumes:
      # 数据目录  挂载出来后,即使删除容器,再用该挂载数据与docker-compose.yml文件启动容器,即可恢复到原来的数据以及用户信息
      - ./db:/data/db
      - ./logs/mongod.log:/var/log/mongodb/mongod.log
      # 挂载mongoDB的配置文件
      - ./configdb/mongod.conf:/etc/mongod.conf
    # 执行的时候指定配置文件执行
    command: mongod -f /etc/mongod.conf
    logging:
      driver: "json-file"
      options:
        max-size: "500m" #限制文件大小
        max-file: "3" #限制数量

开放端口

[[Linux-防火墙#开启端口]]

上一篇:to_json 出现乱码的解决方案


下一篇:Python pdfplumber库:轻松解析PDF文件-2. 基本概念