#linux #powershell #containers #docker-container
Вопрос:
У меня есть модуль Powershell, который выглядит так::
function SayHello
{
echo "hello"
}
Я сохранил его как say-hello.psm1
и добавил в файл dockerfile, как это:
COPY --chmod=0755 say-hello.psm1 /root/.local/share/powershell/Modules/say-hello.psm1
Когда я запускаю изображение docker и запускаю SayHello
его, оно сообщает мне, что не может найти команду:
Но если я затем выполню команду Import-Module и повторю попытку, это сработает:
Я подумал, что, может быть, я ошибся папкой, но когда я бегу $Env:PSModulePath
, я получаю /root/.local/share/powershell/Modules:/usr/local/share/powershell/Modules:/opt/microsoft/powershell/7/Modules
. Согласно документации, именно туда должны идти модули. (Я вставил его в первый)
Что мне нужно сделать, чтобы мой модуль powershell работал без необходимости импорта вручную?
Ответ №1:
Я забыл, что вам нужно поместить psm1
файл в папку с тем же именем, что и файл (внутри папки Модулей).
Я сделал это, и это начало работать просто отлично.