rob*_*liv 5 powershell docker devops powershell-core docker-run
我需要使用官方的 PowerShell Core Docker 映像来运行 Docker 容器并使其执行 PowerShell 脚本文件。
我知道可以使用 Dockerfile 和 Docker 构建来完成,但在这种情况下不能使用它。
通过阅读文档,我想出了这个,但它似乎不起作用:
docker run -it --rm --entrypoint "/tmp/test.ps1" repo/powershell:latest
docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"/tmp/test.ps1\": stat /tmp/test.ps1: no such file or directory": unknown.
ERRO[0001] error waiting for container: context canceled
Run Code Online (Sandbox Code Playgroud)
错误似乎表明它找不到该文件,但stat "/tmp/test.ps1"手动运行时它工作正常。
我觉得pwsh还应该指定二进制文件,但找不到如何执行此操作的方法。
docker run -it mcr.microsoft.com/powershell pwsh -c "Write-Host 'Hello, World'"
这会产生Hello, World
是mcr.microsoft.com/powershell谷歌返回的内容official PowerShell Core Docker image
该图像内部没有文件/tmp/test.ps1。所以不太清楚该图像repo/powershell:latest里面有什么。
docker run -it --rm mcr.microsoft.com/powershell pwsh -c $(cat test.ps)
Run Code Online (Sandbox Code Playgroud)
docker run -v /tmp/localdata:/tmp/containerdata -it --rm mcr.microsoft.com/powershell pwsh /tmp/containerdata/test.ps
Run Code Online (Sandbox Code Playgroud)
假设您的主机/tmp/localdata文件夹中包含test.ps带有文本的文件Write-Host 'Hello, World!'。
两种方法的结果都是Hello, World
| 归档时间: |
|
| 查看次数: |
7699 次 |
| 最近记录: |