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”。
答案 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
没有/
,您将添加目录
使用/
,您将目录内容添加到容器目的地