带电源外壳运行交互式容器

时间:2018-11-13 17:17:34

标签: powershell docker dockerfile docker-windows

我正在尝试在Windows(主机和访客)中设置一个自动构建容器。现在,我在执行容器内的简单Powershell时遇到问题。我已完成以下操作:

创建此DockerFile:

# escape=`

FROM microsoft/windowsservercore
SHELL ["cmd", "/S", "/C"]
CMD ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass"]

执行此构建命令:

docker build -t test:latest .

使用以下命令启动Docker:

docker run test

PowerShell打印此内容,然后容器退出:

PS C:\>

D:\repo\docker\Teste

再次尝试使用此命令:

docker start d05ee -ai

PowerShell打印相同的输出:

PS C:\>

D:\repo\docker\Teste

我希望在第一时间以交互方式使用该容器来验证我将在其上安装的工具,但是我无法做到这一点。我现在不是哪个错误阻止我这样做,而这就是我的问题。

Obs1:具有相同参数的Windows cmd中的Powershell可以正常工作。

Obs2:我的DockerFile基于this tutorial.

中的一个

Obs3:运行正常:

docker run -it microsoft/windowsservercore powershell -NoLogo -ExecutionPolicy Bypass

因此,我认为问题出在图像生成上。

1 个答案:

答案 0 :(得分:2)

您需要使用-it开关运行容器。这将使您的容器具有交互性,因此可以四处浏览

 docker run -it test