Description
Output of docker version
:
Client:
Version: 1.10.3
API version: 1.22
Go version: go1.5.3
Git commit: 20f81dd
Built: Sat Mar 12 19:18:57 2016
OS/Arch: linux/amd64
Server:
Version: 1.10.3
API version: 1.22
Go version: go1.5.3
Git commit: 20f81dd
Built: Sat Mar 12 19:18:57 2016
OS/Arch: linux/amd64
Output of docker info
:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 34
Server Version: 1.10.3
Storage Driver: overlay
Backing Filesystem: extfs
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
Volume: local
Network: host bridge null
Kernel Version: 4.4.5-1-ARCH
Operating System: Arch Linux
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.533 GiB
Name: arch-t530
ID: 4JN7:HILV:O7E4:VSQX:6T67:BSMT:GQEA:G27K:67TD:UIAF:ZRO5:QUBQ
Username: romansaveljev
Registry: https://index.docker.io/v1/
Additional environment details (AWS, VirtualBox, physical, etc.):
- physical
- Additional files are in https://gist.github.com/RomanSaveljev/55b81155531803d68c52
Steps to reproduce the issue:
- Grab
file-missing.bats
from the gist (see above for the link) - Install bats (I had it through npm)
yes test/file-missing.bats | head -n 100 | xargs node_modules/.bin/bats | tee test.log
- Study the log
Describe the results you received:
Test failed 24/100 times (see test.log
). The reason is that echo 456 >/a
in the last layer does not create any modifications to layer.tar
. As we can see this is some sort of flakiness in the image builder.
The issue does not manifest, when I split the troubled command into two, like so:
RUN echo 456 >/a
RUN echo def >>/b
100 rounds of the same testcase went fine (see split.log
).
I have attached one faulty image (based on alpine
) to the same gist for you to examine.
Describe the results you expected:
Both a
and b
entries exist in the top layer and a
contents are 456
.
Additional information you deem important (e.g. issue happens only occasionally):
Happens 24/100