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

相关推荐
严同学正在努力7 分钟前
Oracle数据技术运维大全(下篇)
运维·数据库·ai·oracle·架构
牛马也想出海11 分钟前
海外社媒代理IP:TikTok、IG等6大社媒平台防封号IP选型指南
运维·服务器·网络·新媒体运营
杨浦老苏12 分钟前
群晖 Docker 部署 LAN-Sheriff:实时监控局域网设备对外连接
网络安全·docker·监控·群晖·网络监控
实心儿儿18 分钟前
Linux —— 五种IO模型与非阻塞IO
运维·服务器
筝筝ba23 分钟前
extended/factory_reset.robot
linux·运维·服务器·网络·网络协议·p2p
是那盏灯塔28 分钟前
Swarm集群
docker
优化Henry29 分钟前
5G网络切片之S-NSSAIlist相关参数解析
运维·服务器·网络·笔记·学习·信息与通信
子有内涵35 分钟前
【Linux】C++ 实现可扩展 TCP 服务器|回响、字典、远程命令
linux·运维·服务器
新兴AI民工40 分钟前
# 【Linux内核三十六】进程管理模块:CFS负载均衡(一):sched_domain与sched_group层级构建
linux·运维·负载均衡
weixin_307779131 小时前
Databricks里用PySpark统计指定表和字段中各字段的空值、空字符串或零值比例
运维·数据仓库·python·spark·云计算