我一直在使用Docker for Windows,尝试创建一个Windows容器,在其中运行cygwin作为容器本身的shell。到目前为止,我还没有成功。以下是我一直在尝试的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
进入了容器,并触发cygwin命令以进入shell,但似乎没有任何反应。我没有收到错误提示,它只是返回命令提示符,就好像什么都没有发生一样。
在Windows容器中运行另一个shell是否可能,或者我只是做错了什么?
谢谢!