RUN Powershell Script in Docker Container From Host Powershell Script
12,303
Do not use the -ti
flags to start an interactive session, just execute the script directly via the docker exec
command
docker exec website powershell -command "C:\inetpub\wwwroot\addApplication.ps1"
Author by
Usama Saleem
Updated on June 24, 2022Comments
-
Usama Saleem over 1 year
I have a powershell script in host which copy some files and starts the container.
#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"
Second last command executes fine but last command will only execute when I exit the container session and returns error(File Not Found which is because it finds that file on host)
Question: Is there anyway I can execute the command in container session from the script. Or execute any command from script in any process(confused)
Any help is appreciated.
Thanks
-
arco444 about 6 years
Invoke-Expression
is not the correct command to run a script. You should use& "C:\inetpub\wwwroot\addApplication.ps1"
-
Usama Saleem about 6 yearsthe problem is...when it executes the second last command it starts the container session and did not execute the last command until I exit the session...I want to run the last command in container session...not in the host
-
arco444 about 6 yearsThen don't run interactively. Try
docker exec website powershell -command "C:\inetpub\wwwroot\addApplication.ps1"
-
Usama Saleem about 6 yearsThanks for the quick response. It worked...
-