Я узнал, что получаю то же поведение, используя команду sort
docker run --rm ubuntu:16.04 /bin/bash -c "echo -e 'foo/\nfoo-bar/' | sort"
Но порядок сортировки меняется при использовании sort -d
docker run --rm ubuntu:16.04 /bin/bash -c "echo -e 'foo/\nfoo-bar/' | sort -d"
Спасибо Дэвиду за указание на меняв правильном направлении это вызвано настройками локали, как описано здесь
В пустом контейнере Ubuntu используется локаль POSIX, в которой правила сортировки отличаются от правил en_US.Я решил свою проблему, установив локаль en_US в образ докера, и сортировка снова работает, как и ожидалось.