[Kontext: Host ist AWS-EC2/Ubuntu 14.04.5 mit Docker-Version 17.05.0-CE. Container werden aus öffentlich verfügbarem Repobild cbhihe/serf-alpine-bash erstellt. Container befinden sich auf der gleichen EC2-Instanz und nutzen das gleiche Standardbrückennetzwerk sowie die eth0-Schnittstelle der Instanz.]"IP konnte nicht aufgelöst werden"; "Lookup-Fehler" im Bash-Skript beim Beitritt dockerisierter Leibeigene-Agenten
Diese Frage basiert auf einem answer zu einem anderen Problem.
Mit zwei laufenden docker
Container, jede mit einem Live-Agenten serf
, ich möchte eine zwei Knoten-Server-Cluster aus einem unbeaufsichtigten Bash-Skript, die Ausführung auf dem Host, wo die beiden Container laufen.
Für ein serf Mittel im Container „DC2“ verbinden andere im Container „DC1“ mit privaten IP 172.17.0.2, mein Skript wie folgt aussieht:
docker run -d --name DC1 --rm cbhihe/serf-alpine-bash agent -node=NODE1 -iface=eth0
docker run -d --name DC2 --rm cbhihe/serf-alpine-bash agent -node=NODE2 -iface=eth0
docker exec -d DC2 serf join 172.17.0.2
Die beiden ersten Zeile das erwartete Ergebnis produzieren, dh 2 laufende Behälter. Die dritte Zeile zu versagen scheint:
- entweder still, bei Verwendung des freistehende Schalter,
oder mit dem folgenden Fehler in Abwesenheit eines solchen Schalters.
Fehler der Cluster Beitritt: 1 Fehler (n) aufgetreten: fehlgeschlagen 172.17.0.2 zu beheben: Lookup 172.17.0.2: ungültiger Domain-Name
So oder so auftritt Beitritt nicht.
Das gleiche von der Konsole aus funktioniert einwandfrei.
Ich schaute auf den Import der Host-Umgebung in meinem Bash Shebang Kontext des Skripts. War nicht erfolgreich. Zeiger sind willkommen. Tx
Vielleicht eine Abhängigkeit mit der Shell? Versuchen Sie 'Docker exec DC2 bash -c 'serf beitreten 172.17.0.2'' – Robert
@Robert, Es funktioniert gut in meinem Anwendungsfall mit:' Docker exec "$ cont_id" bash -c' serf beitreten '"$ join_IP" 'Können Sie Machen Sie es zu einer Antwort, vielleicht mit einer kurzen Erklärung der 'bash -c' Umgebung Details für zukünftige Leser? Danke nochmal. – Cbhihe