На всю жизнь я не могу заставить свой сценарий подготовки выполняться при запуске контейнера. В дальнейшем мне нужно будет передать аргументы команде запуска docker, чтобы заменить «hiiii» и «123» для развертывания нескольких контейнеров.
Это мой файл докера
FROM microsoft/aspnet:3.5-windowsservercore-10.0.14393.1198
SHELL [“powershell”, “-Command”, “$ErrorActionPreference = ‘Stop’; $ProgressPreference = ‘SilentlyContinue’;”]
COPY *.ps1 /Container/
COPY [“wwwroot”, “/inetpub/wwwroot”]
COPY [“Admin”, “/Program Files (x86)Admin”]
COPY [“Admin/web.config”, “/Program Files (x86)/Admin/web_default.config”]
#ENTRYPOINT [“powershell”]
CMD [“powershell.exe”, -NoProfile, -File, C:\Container\Start-Admin.Docker.Cmd.ps1 -Parm1 ‘Hiiii’ -parm2 ‘123’]
Я также пробовал версию оболочки CMD следующим образом
CMD powershell -NoProfile -File C:\Container\Start-Admin.Docker.Cmd.ps1 -Parm1 ‘Hiiii’ -Parm2 ‘123’
Это команда, которую я использую.
docker image build -t image:v1:v1 .
docker run --name container -p 8001:80 -d image:v1
После того, как я создаю и запускаю контейнер, я вижу, что скрипт не запустился или завершился с ошибкой. Тем не менее, я могу запустить powershell в контейнере и запустить скрипт вручную, и он отлично работает, и я вижу все необходимые мне изменения.
docker exec --interactive --tty container powershell
C:\Container\Start-Admin.Docker.Cmd.ps1 -Parm1 ‘Hiiii’ -Parm2 ‘123’
Я просто не понимаю, чего мне не хватает в отношении CMD.
Спасибо!
cmd.exe
? Просто запустите PowerShell напрямую. - person Bill_Stewart   schedule 29.09.2017/
здесь:COPY [“Admin”, “/Program Files (x86)Admin”]
- person BenH   schedule 29.09.2017