在使用Docker时在Windows容器中运行exe文件

4
我想使用Docker在Windows容器上运行一个exe文件,该文件接受参数,并将创建新文件放置在预定义的目录中。
ie:- Test.exe -f1=file1.txt -f2=file2.txt

**Output** :
Writing file file1.txt
Successfully created file file1.txt 
Writing file2 file2.txt
Successfully created file file2.txt
Enjoy!!

我的Docker文件长这样

FROM microsoft/aspnet:3.5-windowsservercore-10.0.14393.1715 
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
Copy Test.exe ./TestFolder/
WORKDIR /TestFolder
ENTRYPOINT ["Test.exe"]
CMD ["f1=file1.txt","f2=file2.txt"]

我构建镜像并运行容器

docker build -t image1 .
docker run -it image1

容器运行后,我得到了与上述完全相同的输出,但是当我使用脚本登录到容器机器时,我没有看到在预定义路径中创建任何文件。

我有什么遗漏吗?这是在 Windows 基础镜像上运行 exe 文件的正确方法吗?

非常感谢任何建议。


你如何登录到容器? - Bimal
通过脚本使用 imagename >> docker run -it --entrypoint powershell imagename - Thirtha
1个回答

4
发现exe运行正常,文件已创建。 我登录容器的方式是错误的。
我应该使用:
docker exec -it containername powershell

这将运行一个不存在的镜像的新实例。
docker run -it --entrypoint powershell imagename

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接