后端常用应用的docker-compose文件

MySQL

version: '3.1'
services:
  mysql: # 服务的名称
    restart: always  # 代表只要docker启动,那么这个容器就跟着一起启动
    image: daocloud.io/library/mysql:5.7.4  # 指定镜像路径
    container_name: mysql  # 指定容器名称
    ports:
      - 3306:3306 # 指定端口号的映射
    environment:
      MYSQL_ROOT_PASSWORD: root # 指定MySQL的ROOT用户登录密码
      TZ: Aisa/Shanghai # 指定时区
    volumes:
      - /opt/docker_mysql/data:/var/lib/mysql # 映射数据卷

RabbitMQ

version: "3.1"
services:
  rabbitmq:
    image: daocloud.io/library/rabbitmq:management
    restart: unless-stopped
    container_name: rabbitmq
    ports:
      - 5672:5672
      - 15672:15672
    volumes:
      - ./data:/var/lib/rabbitmq

kafka

version: '3.5'
services:
  zookeeper:
    image: wurstmeister/zookeeper                  # 镜像
    container_name: zookeeper
    ports:
      - "2181:2181"                                # 对外暴露的端口号
  kafka:
    image: wurstmeister/kafka                      # 镜像
    container_name: kafka
    volumes: 
        - /opt/docker_kafka/data:/var/lib/kafka    # 挂载位置
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 42.192.6.39      # 宿主机IP -- client 要访问的broker地址
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181      # kafka运行是基于 zookeeper 的,通过端口连接zookeeper
      KAFKA_BROKER_ID: 0                           # 每个容器就是一个 broker,设置器对应的ID
      KAFKA_ADVERTISED_PORT: 9092
      KAFKA_LOG_RETENTION_HOURS: 120
      KAFKA_MESSAGE_MAX_BYTES: 10000000
      KAFKA_REPLICA_FETCH_MAX_BYTES: 10000000
      KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS: 60000
      KAFKA_NUM_PARTITIONS: 3
      KAFKA_DELETE_RETENTION_MS: 1000
      KAFKA_LOG_DIRS: "/kafka/logs"                # 设置 kafka 日志位置
      KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'      # kafka 自动创建 topic,对于生产者与消费者连接的 TOPIC 不存在自动创建
      KAFKA_DELETE_TOPIC_ENABLE: 'true'            # kafka 开启删除 topic,开了自动创建,删除的也要开,否则删除后还会自动创建
  kafka-manager:
    image: sheepkiller/kafka-manager               # 镜像:开源的web管理kafka集群的界面
    container_name: kafka-manager
    environment:
        ZK_HOSTS: 42.192.34.125                      # 修改:宿主机IP
    ports:  
      - "9009:9000"                                # 暴露端口 9000这个端口冲突太多

mongoDB

version: '3.1'
services:
  mongodb:
    image: daocloud.io/library/mongo:2.7.6
    container_name: mongodb
    volumes:
      - ./data/mongod.conf:/etc/mongod.conf
      - ./data/db:/data/db
      - ./data/logs:/data/logs
    ports:
      - 27017:27017
    restart: always
    command: mongod --auth
    environment:
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=root

Nginx

version: '3.1'
services:
  nginx:
    restart: always
    image: daocloud.io/library/nginx:1.12.0-alpine
    container_name: nginx
    ports:
      - 80:80
    volumes:
      - /opt/docker_nginx/conf.d/:/etc/nginx/conf.d

Redis

version: '3.1'
services:
  redis: 
    image: daocloud.io/library/redis:5.0.7
    restart: always
    container_name: redis
    command:
      - /bin/bash
      - -c
      - redis-server /usr/local/bin/redis.conf/redis.conf --requirepass "root"
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 6379:6379
    volumes:
      - ./data:/var/lib/redis
      - ./redis.conf:/usr/local/bin/redis.conf

ActiveMQ

version: '3'
services:
  #activemq容器
  activemq:
    #使用的镜像
    image: webcenter/activemq
    container_name: activemq
    restart: always
    #容器的映射端口
    ports:
      - 61613:61613
      - 61616:61616
      - 8161:8161
    #定义挂载点
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./data/data/activemq:/data/activemq
      - ./data/var/log/activemq:/var/log/activemq
    #环境变量
    environment:
      - ACTIVEMQ_ADMIN_LOGIN=admin
      - ACTIVEMQ_ADMIN_PASSWORD=admin
      - ACTIVEMQ_CONFIG_MINMEMORY=512
      - ACTIVEMQ_CONFIG_MAXMEMORY=2048
      - TZ=Asia/Shanghai
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周景洛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值