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

相关推荐
虎头金猫12 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS13 小时前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
AI职业加油站14 小时前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏15 小时前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
玉&心15 小时前
通过Arthas在线诊断K8S中的内存及JVM等使用情况
docker·k8s·arthas
xing-xing15 小时前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
-梅16 小时前
linux(8) 软硬链接
linux·运维·服务器
赵文宇(温玉)16 小时前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
guo_wen_qiang16 小时前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren16 小时前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github