首页 > 数据库 >MySQL、Kafka(含zookeeper)、Redis的docker-composer文件

MySQL、Kafka(含zookeeper)、Redis的docker-composer文件

时间:2022-11-15 16:23:45浏览次数:38  
标签:filebeat redis zookeeper Redis Kafka zoo1 2181 docker

以下docker-composer文件仅用于开发环境,快速搭建原型使用,生产环境,请进行针对性设置。

MySQL

version: '3.1'

services:

  db:
    image: mysql:8.0.28
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_DATABASE: app
      MYSQL_USER: db_user
      MYSQL_PASSWORD: 更新为自己的密码
      MYSQL_ROOT_PASSWORD: 更新为自己的密码
    ports:
      - "16033:3306"
    volumes:
      - ./data/db:/var/lib/mysql

  adminer:
    image: adminer
    restart: always
    ports:
      - 18080:8080

Kafka

需要注意,Kafka部署依赖于zookeeper(当前配置文件中,在单机部署三节点zookeeper)。

version: '3.1'

services:
  zoo1:
    image: zookeeper
    restart: always
    hostname: zoo1
    ports:
      - 2181:2181
    volumes:
            - /home/ubuntu/docker/zookeeper/data/zoo1:/data
            - /home/ubuntu/docker/zookeeper/datalog/zoo1:/datalog
            - /home/ubuntu/docker/zookeeper/logs/zoo1:/logs
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

  zoo2:
    image: zookeeper
    restart: always
    hostname: zoo2
    ports:
      - 2182:2181
    volumes:
            - /home/ubuntu/docker/zookeeper/data/zoo2:/data
            - /home/ubuntu/docker/zookeeper/datalog/zoo2:/datalog
            - /home/ubuntu/docker/zookeeper/logs/zoo2:/logs
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

  zoo3:
    image: zookeeper
    restart: always
    hostname: zoo3
    ports:
      - 2183:2181
    volumes:
            - /home/ubuntu/docker/zookeeper/data/zoo3:/data
            - /home/ubuntu/docker/zookeeper/datalog/zoo3:/datalog
            - /home/ubuntu/docker/zookeeper/logs/zoo3:/logs
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181


  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092"
    environment:
      DOCKER_API_VERSION: 1.22
      KAFKA_ADVERTISED_HOST_NAME: 10.0.4.12 
      KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2182,zoo3:2183
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    restart: unless-stopped
    depends_on:
     - zoo1
     - zoo2
     - zoo3

Redis

version: '3.1'
services:
  redis:
    image: redis:7.0.4
    hostname: redis
    container_name: redis
    restart: always
    networks:
      - business
    ports:
      - '6379:6379'
    volumes:
      - /data/redis:/data
      - /etc/localtime:/etc/localtime
    command: redis-server --save 20 1 --loglevel warning --requirepass 更新为自己的密码
  filebeat:
    image: docker.elastic.co/beats/filebeat:8.4.0
    hostname: filebeat
    container_name: filebeat
    restart: always
    entrypoint: "filebeat -e -strict.perms=false"
    volumes:
      - /usr/local/openresty/nginx/logs/:/var/log/nginx
      - /home/ubuntu/docker/redis-filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
      - /etc/localtime:/etc/localtime
    depends_on:
      - redis
    networks:
      - business

networks:
  business:
    driver: bridge

需要注意,这里添加了filebeat,作用是filebeat读取nginx的日志,直接将nginx日志存储至redis中。
filebeat配置文件内容如下所示:

filebeat.inputs:                
- type: log                     
  enabled: true                 
  max_bytes: 20480
  paths:
    - /var/log/nginx/access.log 
  fields:             
    source: nginx-access

- type: log
  enabled: true
  paths:
    - /var/log/nginx/error.log
  fields:
    source: nginx-error

output.redis:                    
  hosts: ["redis:6379"]
  db: 0
  password: "CkeyrvwY2yyQ5tkkq4VIaU9eBFqBzSEd"     
  key: "nginx_log"       

标签:filebeat,redis,zookeeper,Redis,Kafka,zoo1,2181,docker
From: https://www.cnblogs.com/jason1990/p/16892788.html

相关文章

  • java 使用注解+Aop+redis实现防止重复提交
    防止重复提交的方式有很多可以用数据库的唯一索引,保证数据完整性在业务层用select....forupdate,依然是使用数据库的事务来做的使用注解+拦截器HandlerInt......
  • [zookeeper] 异常关闭 还能继续提供服务吗?
    Zookeeper作为注册中心的时候StandAlone:-Consumer:1.有缓存的Consumer能调用已缓存的Provider,并一直尝试重连Zookeeper,直到Zookeeper再次启动2.新的Consumer会启......
  • [Dubbo] 整理 简化 配置Provider和Consumer(SpringBoot + Dubbo + Zookeeper 搭建环境)
    SpringBoot+Dubbo+Zookeeper搭建环境Dubbo2.7使用的AlibabaDubbo,后来@Service等注解被标识@Deprecated。现改用Dubbo3.0.6,出现了一些版本匹配的问题。可以......
  • Linux redis设置开机自启动
    redis安装启动这些就不说了,默认都已经好了的,接下来直接设置开机自启动。1、修改redis.conf文件 daemonize:Redis默认不是以守护进程(daemonize)的方式运行,可以通过该配置......
  • java向kafka发送消息(生产者)
    代码如下,简单记录一下packageorg.example;importjava.util.Properties;importorg.apache.kafka.clients.producer.KafkaProducer;importorg.apache.kafka.client......
  • 004.编译安装Redis
    1.编译安装应用程序   2.yum与编译安装的区别   3.编译安装redis3.1 上传 redis-4.0.14.tar.gz(/usr/local)3.2  tar-zxvfredis-4.0.14.tar.gz 3.......
  • 【Java】Springboot + Redis + AOP切面实现字典翻译
     使用案例演示:先开发了一个简单的Demo:普通DTO类注解翻译的字段和翻译来源  在需要翻译的方法上注解@Translate  接口返回结果:  框架思路:1、标记的......
  • 云服务器(Linux)安装部署Kafka
    云服务器(Linux)安装部署Kafka前期准备kafka的安装需要依赖于jdk,需要在服务器上提前安装好该环境,这里使用用jdk1.8。下载安装包官网地址:较新的版本已自带Zookeeper,无......
  • 短信注册登录前后端结合与redis简介
    短信注册登录前后端结合与redis简介短信注册接口views.py@action(methods=['POST'],detail=False)defregister(self,request):ser=UserRegister......
  • redis
    redisredis介绍cs架构的软件cs架构即Client/Server架构,即客户端/服务器架构redisRedis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供......