docker compose 例子
docker-compose -f xxx.yml up
version: "3"
services:
redis1:
image: 'redis'
ports:
- '6389:6379'
mysql1:
image: 'mysql:5.7'
restart: always
container_name: mysql-5.7
ports:
- '3316:3306'
volumes:
- ./mysql/mydir:/mydir
- ./mysql/datadir:/var/lib/mysql
- ./mysql/conf/my.cnf:/etc/my.cnf
# 数据库还原目录 可将需要还原的sql文件放在这里
- ./mysql/source:/docker-entrypoint-initdb.d
environment:
- "MYSQL_ROOT_PASSWORD=123456"
- "TZ=Asia/Shanghai"
mongo1:
image: 'mongo'
ports:
- '27027:27017'
zookeeper:
image: 'bitnami/zookeeper:3.6.4'
ports:
- '2181:2181'
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
kafka1:
image: 'bitnami/kafka:3.1.0'
ports:
- '9091:9091'
environment:
- KAFKA_BROKER_ID=1
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9091
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka1:9091
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- BOOTSTRAP_SERVERS=kafka1:9091,kafka2:9092,kafka3:9093
- ALLOW_PLAINTEXT_LISTENER=yes
depends_on:
- zookeeper
kafka2:
image: 'bitnami/kafka:3.1.0'
ports:
- '9092:9092'
environment:
- KAFKA_BROKER_ID=2
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka2:9092
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- BOOTSTRAP_SERVERS=kafka1:9091,kafka2:9092,kafka3:9093
- ALLOW_PLAINTEXT_LISTENER=yes
depends_on:
- zookeeper
kafka3:
image: 'bitnami/kafka:3.1.0'
ports:
- '9093:9093'
environment:
- KAFKA_BROKER_ID=3
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9093
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka3:9093
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- BOOTSTRAP_SERVERS=kafka1:9091,kafka2:9092,kafka3:9093
- ALLOW_PLAINTEXT_LISTENER=yes
depends_on:
- zookeeper
kafka-cmak:
image: 'a3d21/kafka-cmak:latest'
ports:
- '9000:9000'
environment:
- ZK_HOSTS=zookeeper:2181
depends_on:
- zookeeper
- kafka1
- kafka2
- kafka3