diff --git a/roles/docker/files/docker-update-hosts b/roles/docker/files/docker-update-hosts index 1b5178860b..8b53030a23 100644 --- a/roles/docker/files/docker-update-hosts +++ b/roles/docker/files/docker-update-hosts @@ -14,7 +14,7 @@ while read event; do if [[ "$event" == *" container start "* ]] || [[ "$event" == *" network disconnect "* ]]; then hosts_file_tmp="$(mktemp)" docker container ls -q | xargs -r docker container inspect | \ - jq -r '.[]|"\(.NetworkSettings.Networks[].IPAddress|select(length > 0) // "# no ip address:") \( if .NetworkSettings.Networks[].Aliases | length > 0 then .NetworkSettings.Networks[].Aliases | join(" ") |sub("^/"; "")|sub("_1$"; "")|sub("-1$"; "") else (.Name|sub("^/"; "")|sub("_1$"; "")|sub("-1$"; "")) end)"' | \ + jq -r '.[] | if (.NetworkSettings.Networks[].IPAddress | length > 0) then "\(.NetworkSettings.Networks[].IPAddress) \(.NetworkSettings.Networks[].Aliases | select(length > 0) | join(" ")) \(.Name | sub("^/"; "") | sub("_1$"; "") | sub("-1$"; "")).saltbox" else "# no ip address: \(.Name | sub("^/"; ""))" end' | \ sed -ne "/^${begin_block}$/ {p; r /dev/stdin" -e ":a; n; /^${end_block}$/ {p; b}; ba}; p" "$hosts_file" \ > "$hosts_file_tmp" chmod 644 "$hosts_file_tmp"