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界面

相关推荐
難釋懷2 分钟前
Nginx重试机制
运维·nginx
梦梦代码精9 小时前
连锁品牌数字化:从门店扩张到用户资产运营的技术底座
大数据·人工智能·低代码·docker·开源·代码规范
爱喝水的鱼丶10 小时前
SAP-ABAP:接口与报表场景专项优化:RFC/ODATA 接口、ALV 报表的性能提升方案
运维·性能优化·接口·sap·abap·rfc·经验交流
画中有画10 小时前
自动化脚本开发最佳实践
运维·自动化
InfinitePlus12 小时前
Docker MySQL搭建一主一从
mysql·docker
江南风月13 小时前
如何使用WGCLOUD实现智能运维
运维·zabbix·运维开发·prometheus
xiaoxiangsiyan13 小时前
HCIA 网络技术基础核心模块详解
运维·网络·网络协议·tcp/ip·运维开发·网络基础
坐吃山猪15 小时前
Docker07-MySQL
mysql·docker·容器
MuMuMu122315 小时前
工业园区 VOCs 绿岛集中治理:越华环保集团项目技术方案与工程实践
大数据·运维
Wzx19801215 小时前
python沙箱和docker沙箱你选对了吗?
开发语言·python·docker