【发布时间】:2017-09-29 17:40:06
【问题描述】:
在我的一生中,当我运行我的容器时,我似乎无法让我的配置脚本执行。以后,我需要将参数传递给 docker run 命令来替换多个容器部署的“hiiii”和“123”。
这是我的 docker 文件
FROM microsoft/aspnet:3.5-windowsservercore-10.0.14393.1198
SHELL [“powershell”, “-Command”, “$ErrorActionPreference = ‘Stop’; $ProgressPreference = ‘SilentlyContinue’;”]
COPY *.ps1 /Container/
COPY [“wwwroot”, “/inetpub/wwwroot”]
COPY [“Admin”, “/Program Files (x86)Admin”]
COPY [“Admin/web.config”, “/Program Files (x86)/Admin/web_default.config”]
#ENTRYPOINT [“powershell”]
CMD [“powershell.exe”, -NoProfile, -File, C:\Container\Start-Admin.Docker.Cmd.ps1 -Parm1 ‘Hiiii’ -parm2 ‘123’]
我也试过shell版本的CMD如下
CMD powershell -NoProfile -File C:\Container\Start-Admin.Docker.Cmd.ps1 -Parm1 ‘Hiiii’ -Parm2 ‘123’
这是我正在使用的命令。
docker image build -t image:v1:v1 .
docker run --name container -p 8001:80 -d image:v1
创建并运行容器后,我看到脚本没有运行或失败。但是,我可以在容器上执行到 powershell 并手动运行脚本,它工作正常,我看到了我需要的所有更改。
docker exec --interactive --tty container powershell
C:\Container\Start-Admin.Docker.Cmd.ps1 -Parm1 ‘Hiiii’ -Parm2 ‘123’
我只是不知道我在 CMD 方面缺少什么。
谢谢!
【问题讨论】:
-
你为什么需要
cmd.exe?直接运行 PowerShell。 -
我想你在这里错过了
/:COPY [“Admin”, “/Program Files (x86)Admin”]
标签: powershell docker dockerfile docker-for-windows