docker中Kafka、RabbitMQ、Mongodb部署安装(Docker-Compose)
前提条件
- 安装Docker环境
- 安装Docker-Compose环境
Kafka部署操作步骤
-
编写
docker-compose.yml
文件内容如下services: zookeeper: image: docker.io/bitnami/zookeeper:3.8 restart: unless-stopped user: root ports: - "2181:2181" volumes: - "./data/zookeeper:/bitnami" environment: - ALLOW_ANONYMOUS_LOGIN=yes kafka: image: docker.io/bitnami/kafka:3.2 restart: unless-stopped user: root ports: - "9092:9092" volumes: - "./data/kafka/bitnami:/bitnami" - "./data/kafka/data:/data" - "./data/kafka/log:/datalog" environment: - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181 - ALLOW_PLAINTEXT_LISTENER=yes - KAFKA_BROKER_ID=1 - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092 - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 - KAFKA_HEAP_OPTS=-Xmx1G -Xms256M - KAFKA_CFG_LOG_RETENTION_HOURS=12 depends_on: - zookeeper kafka-ui: image: provectuslabs/kafka-ui:master restart: unless-stopped ports: - "8090:8080" environment: - KAFKA_CLUSTERS_0_NAME=local - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092 depends_on: - kafka
常见配置参数 配置说明 ports
Kafka端口映射。格式为宿主机端口:容器端口,将容器端口和宿主机端口建立映射关系。 volumes
数据卷,将容器内部的数据、日志文件持久化存放在宿主机上。同时也支持将宿主机上的文件加载至容器内指定的路径。 environment
设置容器中的环境变量,如服务器ID、客户端端口、数据存储目录等 -
执行
docker-compose up -d
命令 -
打开KafkaUI界面,表示部署成功
KafkaUI访问地址:【IP地址】+【端口号】
例如:http://192.168.33.199:8090
RabbitMQ部署操作步骤
docker-compose.yml
文件内容如下
version: '3'
services:
rabbitmq:
image: rabbitmq:management-alpine
container_name: rabbitmq
ports:
- 5672:5672
- 15672:15672
volumes:
- ./data/:/var/lib/rabbitmq
- ./log/:/var/log/rabbitmq/log/
environment:
- RABBITMQ_DEFAULT_USER=admin
- RABBITMQ_DEFAULT_PASS=Mrms_123!@#
- RABBITMQ_ERLANG_COOKIE=admin
restart: always
配置参数 | 配置说明 |
---|---|
environment | 设置RabbitMQ容器中的环境变量,如用户认证、管理员用户名、密码等。 |
ports | RabbitMQ端口映射。格式为宿主机端口:容器端口,将容器端口和宿主机端口建立映射关系。 |
常见配置项修改说明
- 执行
docker-compose up -d
命令
docker-compose up -d
- 打开RabbitMQ界面,表示部署成功
RabbitMQ界面访问地址:【IP地址】+【端口号】
例如:http://192.168.33.199:15672
mongodb部署操作步骤
docker-compose.yml
文件内容如下
version: "3.5"
services:
mongodb:
image: mongo
container_name: mongodb
restart: on-failure
ports:
- 27017:27017
environment:
TZ: Asia/Shanghai
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: 123456
volumes:
- ./database:/data/db
logging:
driver: "json-file"
options:
max-size: "200k"
max-file: "10"
mongo-express:
image: mongo-express
container_name: mongo-express
ports:
- 27018:8081
environment:
ME_CONFIG_OPTIONS_EDITORTHEME: 3024-night
ME_CONFIG_MONGODB_SERVER: mongodb
ME_CONFIG_MONGODB_ADMINUSERNAME: admin
ME_CONFIG_MONGODB_ADMINPASSWORD: 123456
ME_CONFIG_BASICAUTH_USERNAME: admin
ME_CONFIG_BASICAUTH_PASSWORD: 123456
depends_on:
- mongodb
mongodb-express
是mongo图形化管理工具
- 执行
docker-compose up -d
命令
docker-compose up -d
- 到浏览器就可以看到web界面管理mongodb了: