Ich verwende das docker-compose-Rezept unten, um einen Container aufzurufen, der eine Komponente des Storm-Stream-Verarbeitungsframeworks ausführt. Ich finde das auf Mac's , wenn ich den Container eingeben (sobald es läuft und über docker exec -t -i <container-id> bash
läuft) und ich tun ping storm-supervisor
Ich bekomme den Fehler 'unbekannten Host'. Wenn ich jedoch das gleiche docker-compose-Skript unter Linux ausführe, wird der Host erkannt und ping ist erfolgreich.hostname in docker-compose.yml wird auf dem mac nicht erkannt (funktioniert aber unter linux)
Der Fehler beim Auflösen des Hosts führt zu Problemen mit der Storm-Komponente ... aber was dieser Komponente tut, kann für diese Frage ignoriert werden. Ich bin mir ziemlich sicher, wenn ich herausfand, , wie man das Docker-compose Verhalten des Macs erhält, um mit Linux übereinzustimmen, dann würde ich kein Problem haben.
Ich glaube, ich das Problem in diesem Beitrag erwähnt erlebe: https://forums.docker.com/t/docker-compose-not-setting-hostname-when-network-mode-host/16728
version: '2'
services:
supervisor:
image: sunside/storm-supervisor
container_name: storm-supervisor
hostname: storm-supervisor
network_mode: host
ports:
- "8000:8000"
environment:
- "LOCAL_HOSTNAME=localhost"
- "NIMBUS_ADDRESS=localhost"
- "NIMBUS_THRIFT_PORT=49627"
- "DRPC_PORT=49772"
- "DRPCI_PORT=49773"
- "ZOOKEEPER_ADDRESS=localhost"
- "ZOOKEEPER_PORT=2181"
Dank im Voraus für alle Leads oder Tipps!