【docker 】docker-compose 部署mongoDB

在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的容器)
相关推荐
牛奔6 小时前
Docker配置远程连接
运维·docker·云原生·容器·eureka
my_styles8 小时前
docker-compose部署项目(springboot服务)以及基础环境(mysql、redis等)ruoyi-ry
spring boot·redis·后端·mysql·spring cloud·docker·容器
Liudef0610 小时前
使用Docker部署MongoDB
mongodb·docker·容器
ZHOU_WUYI12 小时前
React与Docker中的MySQL进行交互
mysql·react.js·docker
Will_113012 小时前
如何实现k8s高可用
运维·docker·容器
编程、小哥哥12 小时前
互联网大厂Java面试场景:从缓存到容器化的技术问答
redis·docker·微服务·kubernetes·spring security·java面试·gitlab ci
码农捻旧13 小时前
Node.js中MongoDB连接的进阶模块化封装
数据库·mongodb·node.js
luck_me514 小时前
基于 Kubernetes 部署容器平台kubesphere
云原生·容器·kubernetes
小白要努力sgy14 小时前
深入理解Docker和K8S
docker·kubernetes
青春不流名14 小时前
ctr查看镜像
docker