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

相关推荐
张青贤1 小时前
Centos7离线部署K8s集群V1.28.8
云原生·容器·kubernetes·containerd·kubekey·离线部署
无锡银洲自动化1 小时前
工业模拟量采集痛点分析:IDCB-4E/DR/Y测量前端解决方案
运维·产品运营
Kina_C2 小时前
Linux iptables 防火墙原理与实操——从四表五链到 NAT 配置
linux·运维·服务器·iptables
A洛2 小时前
Codex 实战:一句话完成 Temu 商品图采集与印花抠图自动化
运维·人工智能·自动化·codex
Urbano2 小时前
服装工厂卫衣量产提质增效方案:工序自动化替代、产能优化、多品牌设备选型及落地案例
运维·自动化
GlobalSign数字证书3 小时前
自动化时代,如何高效部署SSL证书?
运维·自动化·ssl
大侠锅锅6 小时前
第 19 篇:远程运维体系——指标、SSH、日志与 OTA 升级
运维·ssh
爱码少年7 小时前
Docker遍历镜像生成导出镜像命令六法
docker·shell
公众号:fuwuqiBMC8 小时前
(转自“服务器BMC”)服务器BMC芯片——多Die(芯片)封装
运维·服务器·人工智能