Включение 8dot3name в среде Docker - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть устаревшее приложение, которое я пытаюсь запустить в контейнере Docker. Проблема в том, что имена 8.3 по умолчанию отключены в контейнере, поэтому в файле Docker в качестве последней команды в файле я выдаю следующее: run fsutil.exe 8dot3name set C: 0

Затем я создаю образ Docker и затем запускаю контейнер, используя «docker run -it --rm cmd.exe», чтобы открыть командную строку. В командной строке команда «fsutil.exe 8dot3name query C:» возвращает:

Состояние тома: 1 (создание имени 8dot3 отключено). Состояние реестра: 2 (на настройку громкости - по умолчанию). Исходя из вышеуказанных настроек, создание имени 8dot3 отключено на C:

Хотя запуск fsutil 8dot3name в файле docker был успешно выполнен для создания образа, настройка, похоже, не вступает в силу. Если я заменяю вызов fsutil на «run reg add HKLM \ System \ CurrentControlSet \ Control \ FileSystem / t REG_DWORD / v NtfsDisable8dot3NameCreation / d 0 / f», перестраиваю и повторно запускаю контейнер, я получаю:

C:> fsutil.exe Запрос 8dot3name C: Состояние тома: 1 (создание имени 8dot3 отключено). Состояние реестра: 0 (разрешить создание имени 8dot3 на всех томах). Исходя из вышеуказанных настроек, создание имени 8dot3 включено на C:

К сожалению, сообщение кажется неправильным, поскольку создание длинной / пространственной папки также не создает эквивалент 8.3. Проблема в том, что состояние громкости все еще установлено на «1». Кто-нибудь знает, какую команду нужно выполнить, чтобы изменить настройку состояния громкости? Это место в реестре? Я знаю, что это можно изменить, потому что, если я выполню «fsutil.exe 8dot3name set C: 0» в командной строке контейнера, то он получит значение «0».

...