运行IIS docker文件时,本地卷未与容器安装/绑定[在Windows上]

时间:2018-07-23 12:34:43

标签: docker dockerfile

OS:Win 10 Pro

我的IIS Docker文件:

FROM microsoft/iis:latest
RUN powershell -NoProfile -Command Remove-Item -Recurse C:\inetpub\wwwroot\*
WORKDIR /inetpub/wwwroot
COPY content/ .
EXPOSE 80

构建命令:

C:\Users\admin\Desktop\iis-demo>docker build -t iis-image .

Sending build context to Docker daemon 6.656kB Step 1/5 : FROM microsoft/iis:latest
---> 248afbbe0fd1 Step 2/5 : RUN powershell -NoProfile -Command Remove-Item -Recurse C:\inetpub\wwwroot*
---> Using cache
---> 880273c74891 Step 3/5 : WORKDIR /inetpub/wwwroot
---> Using cache
---> a07a920df3bf Step 4/5 : COPY content/ .
---> ab16da97c523 Step 5/5 : EXPOSE 80
---> Running in 98b7cbef83c9 Removing intermediate container 98b7cbef83c9
---> 1c7d232a73aa Successfully built 1c7d232a73aa Successfully tagged iis-image:latest

运行命令:

C:\Users\admin\Desktop\iis-demo>docker run -d -p 8080:80 -v C:\Users\admin\Desktop\iis-demo\content:/inetpub/wwwroot iis-image

我也尝试过:

C:\Users\admin\Desktop\iis-demo>docker run -d -p 8080:80 -v C:\\Users\\admin\\Desktop\\iis-demo\\content:/inetpub/wwwroot iis-image

但是每次我遇到以下错误:

  

docker:来自守护程序的错误响应:无效的卷规范:'C:\ Users \ admin \ Desktop \ iis-demo \ content:/ inetpub / wwwroot'。       请参阅“ docker run --help”。

1 个答案:

答案 0 :(得分:0)

我相信您的问题是缺少斜杠。

您的代码:

C:\Users\admin\Desktop\iis-demo>docker run -d -p 8080:80 -v C:\Users\admin\Desktop\iis- 
demo\content:/inetpub/wwwroot iis-image

正在尝试将文件夹content加载到容器中 如果没有它将会失败 试试这个:

C:\Users\admin\Desktop\iis-demo>docker run -d -p 8080:80 -v C:\Users\admin\Desktop\iis- 
demo\content\:/inetpub/wwwroot iis-image

或在您的文件中建立目录content 并将命令更改为

 docker run -d -p 8080:80 -v  C:\Users\admin\Desktop\iis- 
 demo\content:/inetpub/wwwroot/content iis-image

没有/,您将添加目录 使用/,您将目录内容添加到容器目的地