【发布时间】:2017-12-15 08:08:12
【问题描述】:
我在主机中有一个 powershell 脚本,它复制一些文件并启动容器。
#Copy File
docker cp "D:\addApplication.ps1" website:/inetpub/wwwroot/
#Start Container
docker start website
Write-Host 'Process has started'
#Execute Container
docker exec -ti website powershell
#Run Script
Invoke-Expression "C:\inetpub\wwwroot\addApplication.ps1"
第二个命令执行得很好,但最后一个命令只会在我退出容器会话并返回错误时执行(文件未找到,这是因为它在主机上找到了该文件)
问题:无论如何我可以从脚本中执行容器会话中的命令。或者在任何进程中执行脚本中的任何命令(困惑)
感谢任何帮助。
谢谢
【问题讨论】:
-
Invoke-Expression不是运行脚本的正确命令。你应该使用& "C:\inetpub\wwwroot\addApplication.ps1" -
问题是......当它执行倒数第二个命令时,它会启动容器会话并且在我退出会话之前没有执行最后一个命令......我想在容器中运行最后一个命令会话...不在主机中
-
那就不要交互运行了。试试
docker exec website powershell -command "C:\inetpub\wwwroot\addApplication.ps1" -
感谢您的快速回复。它工作......
标签: powershell docker