在notepad++中将格式改为UNIX (编辑》文档格式转化》转为Unix),编码改为UTF-8 ( 编码》转为UTF-8),改好后如图
新建启动脚本 mongo.sh
#!/bin/bash # 挂载路径 DATA_DIR=/opt/docker-data/mongodb/data LOG_DIR=/opt/docker-data/mongodb/log CONFIG_DIR=/opt/docker-data/mongodb/config # 如果目录不存在,则创建目录并设置权限 if [ ! -d "$DATA_DIR" ]; then mkdir -p "$DATA_DIR" chmod -R 777 "$DATA_DIR" fi if [ ! -d "$LOG_DIR" ]; then mkdir -p "$LOG_DIR" chmod -R 777 "$LOG_DIR" fi if [ ! -d "$CONFIG_DIR" ]; then mkdir -p "$CONFIG_DIR" chmod -R 777 "$CONFIG_DIR" fi
配置mongod.conf文件
systemLog: destination: file path: /var/log/mongodb/mongod.log logAppend: true storage: dbPath: /data/db journal: enabled: true wiredTiger: engineConfig: cacheSizeGB: 1 engine: wiredTiger directoryPerDB: true journal: enabled: true mmapv1: smallFiles: true journal: enabled: true net: bindIpAll: true port: 27017 protocol: tcp maxIncomingConnections: 10000 security: authorization: enabled
启动docker-compose
docker-compose up -d
至于如何重新启动
docker-compose up是创建和启动容器,具我所知只有在三种情况下会重新创建容器(即先删除旧的容器,再生成一个新的): 1.当镜像有更新时,会重新创建容器; 2.容器不存在(即被删除了); 3.当容器A重新创建时,其依赖此容器的容器将会重新创建(即docker-compose.yml文件中的容器设置了depends_on为容器A的容器)