-
Notifications
You must be signed in to change notification settings - Fork 287
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Layers go missing between RUN statements #1947
Comments
ping @johnstep @jhowardmsft |
Hi, I'm having the exact same issue with Docker 18.03 but in my case it happens when trying to install cygwin and cyg-get. This used to work with Docker 17.12.0. When inspecting image history this can be seen: Dockerfile: FROM microsoft/windowsservercore
...
...
RUN powershell.exe -Command "iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex"
RUN powershell.exe -Command "refreshenv"
RUN powershell.exe -Command "choco install cyg-get -y --verbose"
... Image history: 17.12.0
18.03
So we can clearly see by comparing the sizes that something is wrong with 18.03 of handling this layer. Tried this also with cygwin installer without chocolate. Same results. br. |
Looking |
It's something between c11508a and 6ed1163 in the moby/moby repo. Figuring out which commit |
Huh. It's moby/moby#35924. Will figure out why that makes a difference. |
Figured it. A simple fix. |
moby/moby#36938 is the fix. Needs back-porting to CE/EE. |
This may also be related to the following issue: moby/moby#36919 |
I'm going to close this issue now as it's been identified as an upstream bug. It can be tracked on the upstream ticket. |
Thanks for sorting this out so quickly! |
Hi, Hopefully someone here can help me figure out when this will make it into production. Not sure if I should expect a fix in Docker or in the Windows images or somewhere else? Maybe I'm missing something. I've been banging my head against this for days... I am seeing this with both stable: 18.03.1-ce-win65 (17513) and edge: 18.05.0-ce-win67 (18263) using microsoft/windowsservercore (1709, 1803, latest). The layer with cygwin never makes it into the image. Let me know if this is the wrong forum for this. |
Unfortunately an update of hcsshim to v0.6.10 (okay) or v0.6.11 (better) has not made it into docker-ce 18.03 or 18.05 yet. Both versions are currently stuck on the broken commit microsoft/hcsshim@79062a5 which does not include microsoft/hcsshim@8fccb44. 😿 It would be really nice if 18.06 could include at least hcsshim v0.6.11. |
Yes; that fix will be in 18.06 |
@thaJeztah Thanks a lot. Can you give us an ETA for a release of 18.06 and are there also any plans to provide an update to the preview version 17.10.0-ee-preview-3 for Windows Server 1709? I would really appreciate an answer, thank you very much in advance. :-) |
@thaJeztah @mback2k Thanks for the info and clarification. Much appreciated. |
Closed issues are locked after 30 days of inactivity. If you have found a problem that seems similar to this, please open a new issue. Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows. |
Expected behavior
Files created in a layer are visible during the next
RUN
statement.Actual behavior
All FS changes from a layer are absent in the following
RUN
statement.Information
D944CBA1-6FB4-47BE-9682-E0B5F69CAD24/2018-04-13_18-21-38
I posted this on the community forum first, but haven't seem any activity yet. I thought I would escalate to the devs, since I believe this to be a bug in Docker.
I'm trying to install
msys2
using the Chocolatey package manager. My install command appears to complete successfully, but attempts to use installed files in subsequentRUN
statements shows that changes from the installRUN
statement are no longer present.I've been able to reproduce this with a pretty small Dockerfile:
The first
RUN
statement installs Chocolatey, addschoco
to thePATH
, makes a directory, and adds a checkpoint file to that directory.The second
RUN
statement makes a second checkpoint file, useschoco
to installmsys2
, makes a third checkpoint file, and then prints the contents of our directory.The third
RUN
statement repeats the print of our directory.The attentive reader may expect the output of
dir
in the second and thirdRUN
statements to be the same.The actual result is that all files created in the second
RUN
statement are absent.Exemplary output follows:
I've spent several days looking for existing posts or bug reports for this problem, but so far haven't had any luck. Just coming up with a succinct description of the problem is hard enough, let alone trying to google for "docker missing layers".
I'm happy to provide whatever additional information I can to help get to the bottom of this.
Steps to reproduce the behavior
Nothing special. Just
docker build
the above Dockerfile.The text was updated successfully, but these errors were encountered: