Проблема
Перечисление содержимого каталога в общем томе с файлами 200 КБ из контейнера Ubuntu, размещенного в windows, застревает.
Как воспроизвести
- Установить Docker Рабочий стол 2.2.0.3 (42716) стабильно на Windows 10
- Настроить docker для работы в WSL ( Дистрибутив Ubuntu 16)
- Предоставить демон в
tcp://localhost:2375 without TLS
- В WSL определите переменную среды
DOCKER_HOST=localhost:2375
- В WSL, в
/etc/wsl.conf
в разделе [automount]
, определите root = /
- Создайте папку на хосте Windows, содержащую 200 000 файлов (даже небольших). например,
c:/temp
- Запустите контейнер docker, сопоставив c: / temp на хосте с / opt в контейнере следующим образом:
docker run -it -v /c/temp:/opt ubuntu bash
- В bash приглашение контейнера запустить
cd /opt
, а затем ls
Ожидаемый результат
Команда ls
начнет перечислять все файлы в папке c: / temp .
Ожидается, что это займет некоторое время, но начнется почти сразу.
Фактический результат
Ничего не напечатано и оболочка не отвечает.
Более того, CTR C не прерывает команду ls
.
Единственный способ остановить контейнер - перезапустить Docker Рабочий стол