laradock 根据官方文档修改配置文件
Install RDKAFKA extension in php-fpm
1 - Open the .env file
2 - Search for the PHP_FPM_INSTALL_RDKAFKA argument under the PHP-FPM container
3 - Set it to true
4 - Re-build the container docker-compose build php-fpm
Install RDKAFKA extension in workspace
This is needed for ‘composer install’ if your dependencies require Kafka.
1 - Open the .env file
2 - Search for the WORKSPACE_INSTALL_RDKAFKA argument under the WORKSPACE container
3 - Set it to true
4 - Re-build the container docker-compose build workspace
然后编译重启 docker镜像 貌似还有装zookeeper
重点docker-compose.yml 中kafka配置
### kafka ####################################################
kafka:
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ADVERTISED_HOST_NAME: kafka
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
KAFKA_MESSAGE_MAX_BYTES: 2000000
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- ${DATA_PATH_HOST}/kafka:/kafka
- /var/run/docker.sock:/var/run/docker.sock
networks:
- backend
将配置中127.0.0.1 改成 kafka 因为docker中同一网络提供的内网ip可能会变化,所以要配置成服务名称kafka
再然后查看kafka容器进入
docker exec -it ${CONTAINER ID} /bin/bash
CONTAINER ID 用docker ps 查看kafka容器id
我安装的是wurstmeister/kafka 镜像 进入容器后进入如下目录
cd /opt/kafka_2.13-2.8.1/bin/
创建topic
./kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test
生产消息
./kafka-console-producer.sh --broker-list localhost:9092 --topic test
这个时候可以再开一个窗口,用作消费
./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --from-beginning --topic test
然后一遍输入 一遍消费就可以了
有时间再出一篇laravel 使用的教程
参考
https://blog.csdn.net/XIAOHUI_ID/article/details/122662020