zoukankan      html  css  js  c++  java
  • Docker-compose常用软件部署(mysql、redis、rabbitmq)

    Docker-compose常用软件部署(mysql、redis、rabbitmq)

    废话不多说,下面就直接给出部署文件已经启动脚本,这个会持续更新。以下的部署方式均是单例部署。高可用或者其他部署方案我会单独写相应的文章。

    • mysql数据库
    • redis缓存
    • rabbitmq消息队列

    compose-mysql.yaml

    version: '3'
    
    # docker network create mysql_bridge
    networks:
      mysql_bridge:
        driver: bridge
    
    services:
       mysql-server:
         image: docker.io/mysql:5.7
         container_name: mysql-server
         restart: always
         environment:
           # 指定root密码。不指定则会启动失败
           - MYSQL_ROOT_PASSWORD:123456
         volumes:
           # 同步本地时间
           - /etc/localtime:/etc/localtime:ro
           # 初始化执行的sql
           # - ./init:/docker-entrypoint-initdb.d/
           # db配置
           - ./conf/my.cnf:/etc/my.cnf
           # db文件存放地址
           - ./db_data:/var/lib/mysql
         ports:
           - 3306:3306
         networks:
           - mysql_bridge
    

    start-mysql.sh

    #! /usr/bin/bash
    # 定义一个名称变量
    network_name="mysql_bridge"
    
    filterName=`docker network ls | grep $network_name | awk '{ print $2 }'`
    
    if [ "$filterName" == "" ]; then
        # 不存在就创建
        docker network create $network_name
        echo "Created network $network_name success!!"
    fi
    
    docker-compose -f ./compose-mysql.yaml up -d
    docker ps -a
    docker logs -f mysql-server
    

    compose-redis.yaml

    version: '3'
    
    # docker network create redis_bridge
    networks:
      redis_bridge:
        driver: bridge
        
    services:
       redis-server:
         image: docker.io/redis:latest
         container_name: redis-server
         restart: always
         command: redis-server --requirepass "123456"
         volumes:
            - /etc/localtime:/etc/localtime:ro
            - ./redis_data:/var/lib/redis
         ports:
           - 6379:6379
         networks:
           - redis_bridge
    

    start-redis.sh

    #! /usr/bin/bash
    # 定义一个名称变量
    network_name="redis_bridge"
    
    filterName=`docker network ls | grep $network_name | awk '{ print $2 }'`
    
    if [ "$filterName" == "" ]; then
        # 不存在就创建
        docker network create $network_name
        echo "Created network $network_name success!!"
    fi
    
    docker-compose -f ./compose-redis.yaml up -d
    docker ps -a
    docker logs -f redis-server
    

    compose-rabbitmq.yaml

    version: '3'
    
    # docker network create rabbitmq_bridge
    networks:
      rabbitmq_bridge:
        driver: bridge
        
    services:
      rabbitmq:
        image: rabbitmq:management-alpine
        container_name: rabbitmq-server
        restart: always
        volumes:
          - /etc/localtime:/etc/localtime:ro
          - ./data:/var/lib/rabbitmq
        environment:
          - RABBITMQ_DEFAULT_USER=ming
          - RABBITMQ_DEFAULT_PASS=ming123456
        ports:
          - "15672:15672"
          - "5672:5672"
        logging:
          driver: "json-file"
          options:
            max-size: "200k"
            max-file: "10"
        networks:
          - rabbitmq_bridge
    

    start-rabbitmq.sh

    #! /usr/bin/bash
    # 定义一个名称变量
    network_name="rabbitmq_bridge"
    
    filterName=`docker network ls | grep $network_name | awk '{ print $2 }'`
    
    if [ "$filterName" == "" ]; then
        # 不存在就创建
        docker network create $network_name
        echo "Created network $network_name success!!"
    fi
    
    docker-compose -f ./compose-rabbitmq.yaml up -d
    docker ps -a
    docker logs -f rabbitmq-server
    
  • 相关阅读:
    函数 out 传值 分割
    函数
    特殊集合
    集合
    数组

    穷举
    循环
    mac 软件安装
    实用信息查询接口
  • 原文地址:https://www.cnblogs.com/jockming/p/13336713.html
Copyright © 2011-2022 走看看