我正在2016 TP5上尝试这一点。我有一个简单的Dockerfile:
FROM microsoft/iis
RUN powershell remove-item c:\inetpub\wwwroot\iisstart.*microsoft/iis映像包含c:\inetpub\wwwroot中的几个文件(iisstart.htm和iisstart.png)。我在试着删除那些文件。
下面是docker构建的输出:
c:\git\temp\test>docker build -t foo .
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM microsoft/iis
---> c26f4ceb81db
Step 2 : RUN powershell remove-item c:\inetpub\wwwroot\iisstart.*
---> Running in 4d17a5ab86e5
---> d5f85251b3db
Removing intermediate container 4d17a5ab86e5
Successfully built d5f85251b3db如果我现在启动一个容器并查看wwwroot,那么文件仍然存在。
docker run --rm -it foo cmd
Microsoft Windows [Version 10.0.14300]
(c) 2016 Microsoft Corporation. All rights reserved.
C:\>cd inetpub\wwwroot
C:\inetpub\wwwroot>dir
Volume in drive C has no label.
Volume Serial Number is 5664-BDCB
Directory of C:\inetpub\wwwroot
05/19/2016 07:05 PM <DIR> .
05/19/2016 07:05 PM <DIR> ..
05/05/2016 03:27 PM 703 iisstart.htm
05/05/2016 03:27 PM 99,710 iisstart.png
2 File(s) 100,413 bytes
2 Dir(s) 21,209,399,296 bytes free
C:\inetpub\wwwroot>在运行的容器中,如果我执行powershell remove-item c:\inetpub\wwwroot\iisstart.*,文件就会被删除。为什么相同的命令在dockerfile中不能工作?
我也用类似的结果尝试过del c:\inetpub\wwwroot\iisstart.*。
发布于 2018-02-28 10:48:42
你走错路了,C:\>cd inetpub\wwwroot
你必须去你的集装箱路径所以:
运行后-d your image
docker exec -it "containerID" pwoershellC:\>cd inetpub\wwwrootls当您的Dockerfiles工作时,这将是可以的。
https://stackoverflow.com/questions/37336884
复制相似问题