Я использую docker-compose.yml для настройки многослойного веб-приложения.
пакет:
image: tp33/django
container_name: batch
links:
- kafka:kafka
- es:es
depends_on:
- kafka
- es
volumes:
- ./batch_layer:/app
networks:
- mynet
command: bash -c "cd /app && python consumer.py"
kafka:
image: spotify/kafka
container_name: kafka
environment:
ADVERTISED_HOST: kafka
ADVERTISED_PORT: 9092
hostname: kafka
networks:
- mynet
Пакетный слой используется в качестве потребителя в Kafka, но он не получает сообщений из очереди.Если я использую «docker run -it --name batch --link kafka: kafka --link es: es --network = mynet tp33 / django» вместо docker-compose для настройки пакетного уровня, потребитель может получать сообщения.
Может ли кто-нибудь выяснить разницу?