docker-compose下快速部署实操——持续更新...

文章目录

    • [dc 部署Mariadb服务](#dc 部署Mariadb服务)
    • [dc 部署redis](#dc 部署redis)
    • [dc 部署MongoDB](#dc 部署MongoDB)

dc 部署Mariadb服务

新建yml文件

yml 复制代码
services:
    mariadb:
        image: mariadb:10.11.8
        container_name: mariadb
        restart: always
        ulimits:
          nofile:
            soft: 65536
            hard: 65536
        ports:
            - "43306:3306"
        volumes:
            - ./mariadb/data:/var/lib/mysql
            - ./mariadb/config:/etc/mysql/conf.d/
        command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-allowed-packet=10G --innodb-log-file-size=2G --innodb_flush_log_at_trx_commit=2
        environment:
            TZ: Asia/Shanghai
            MARIADB_ROOT_PASSWORD: "Password1234"
            
    phpmyadmin:
        container_name: phpmyadmin
        image: phpmyadmin
        restart: always
        ports:
            - "8080:80"
        environment:
            - PMA_HOST=mariadb
            - UPLOAD_LIMIT=10G

浏览器访问 http://192.168.142.146:8080

输入用户名密码即可访问该数据库

dc 部署redis

复制代码
version: '3'
services:
  redis:
    image: redis:latest
    container_name: my-redis
    ports:
      - "26379:6379"
    volumes:
      - /temp/data:/data
    command: redis-server --requirepass Mypass123

dc 部署MongoDB

yml 复制代码
version: '3.8'

services:
  mongodb:
    image: mongo:7.0.32
    container_name: mongodb
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: admin@1234
    ports:
      - "27017:27017"
    volumes:
      - ./dcmongo/data:/data/db               # 数据持久化
      - ./dcmongo/logs:/var/log/mongodb       # 日志持久化
      - ./dcmongo/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro # 挂载初始化脚本
    entrypoint: >
      bash -c "
        mkdir -p /var/log/mongodb &&
        chown -R mongodb:mongodb /var/log/mongodb &&
        exec docker-entrypoint.sh mongod --bind_ip_all --logpath /var/log/mongodb/mongod.log
      "
    networks:
      - mongo-net
  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - "8081:8081"
    environment:
      ME_CONFIG_MONGODB_URL: "mongodb://admin:admin@1234@mongo:27017/"
      ME_CONFIG_BASICAUTH_ENABLED: "true"
      ME_CONFIG_BASICAUTH_USERNAME: "mongoexpressuser"
      ME_CONFIG_BASICAUTH_PASSWORD: "mongoexpresspass"
    
    networks::
      - mongo-net

networks:
  mongo-net:
    driver: bridge

初始化自动执行脚本

初始化脚本需保证data目录无数据的情况下才会执行

复制代码
// dcmongo/mongo-init.js
db = db.getSiblingDB('myapp'); // 切换到目标数据库(如 myapp)
db.createUser({
  user: 'myuser',
  pwd: 'mypassword123',
  roles: [
    { role: 'readWrite', db: 'myapp' },
    { role: 'read', db: 'otherdb' }
  ]
});

db.products.insert({ name: '初始商品', price: 99.9 });
print("========== 用户 '你的新用户名' 创建成功 ==========");
*/

浏览器访问 http://192.168.142.146:8081

输入用户名密码即可访问express界面

相关推荐
小HANN3 小时前
华为云企业网站上云实战|从零搭建高可用WordPress全站架构(ECS+RDS+ELB+弹性伸缩+云监控闭环)
linux·运维·服务器·经验分享
奈落243 小时前
规则引擎还是大模型?AI 工作流与传统自动化的分工边界:确定性流程照旧,‘每次都不太一样‘的知识型工作才交给 AI
运维·人工智能·自动化·大模型·工作流·ai 办公
星恒随风3 小时前
Linux库的底层原理:ELF文件格式、静态链接、程序加载、虚拟地址空间与GOT/PLT详解
linux·运维·笔记·学习·状态模式
AR-26710-4 小时前
Linux Day19——日志轮转
linux·运维
分布式存储与RustFS4 小时前
rclone 与 mc mirror:S3 对象存储同步,限速、过滤、断点续传实测对比
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
祖力554 小时前
驱动工程搭建与字符设备驱动框架
linux·运维·服务器·内核·arm·imx6ull·驱动
第25小时记录4 小时前
[2026] Linux安装教程
运维·python
曦樂~5 小时前
Symmetric Ciphers对称加密
运维·服务器
mister_guo5 小时前
Elasticsearch:原理、Docker 安装与常用命令
大数据·运维·elasticsearch
刚入门的大一新生6 小时前
Linux-Ext系列文件系统
linux·运维·服务器