Я работал с Docker для Windows, пытаясь создать контейнер для Windows, который может запускать cygwin в качестве оболочки внутри самого контейнера. Мне не повезло, что все это закончилось. Здесь Dockerfile, с которым я возился.
# escape='
FROM microsoft/windowsservercore
SHELL ["powershell", "-command"]
RUN Invoke-WebRequest https://chocolatey.org/install.ps1 -UseBasicParsing | Invoke-Expression
RUN choco install cygwin -y
RUN refreshenv
RUN [Environment]::SetEnvironmentVariable('Path', $env:Path + ';C:\tools\cygwin\bin', [EnvironmentVariableTarget]::Machine)
Я попытался установить ENTRYPOINT и CMD, чтобы попытаться войти в cygwin, но ни один из них ничего не делает. Я также прикреплялся к контейнеру с помощью docker run -it
и docker run -it
команду cygwin, чтобы попасть в оболочку, но, похоже, ничего не делает. Я не получаю сообщение об ошибке, он просто возвращается в командную строку, как будто ничего не произошло.
Возможно ли запустить другую оболочку в контейнере Windows, или я просто делаю что-то неправильно?
Благодарю!