Tested with the latest runc worker
$ cat Dockerfile
FROM alpine
RUN apk --no-cache add gcc
$ sudo buildctl build --frontend=dockerfile.v0 --local context=. --local dockerfile=. --exporter=docker --exporter-opt name=tmp > a.tar
...
=> => sending tarball
$ docker load < a.tar
34df965a3cd2: Loading layer [====> ] 2.621MB/32.51MB
ApplyLayer duplicates of file paths not supported stdout: {"layerSize":9448116}
stderr:
This error is caused because the second layer tar contains duplicated entries:
$ mkdir a
$ tar Cxf a a.tar
$ jq . < a/manifest.json
[
{
"Config": "blobs/sha256/27af15ee097072120c65c02637bfac13b7cc3ead6d105725b732d89ffa8b9966",
"RepoTags": [
"docker.io/library/tmp:latest"
],
"Layers": [
"blobs/sha256/ff3a5c916c92643ff77519ffa742d3ec61b7f591b6b7504599d95a4a41134e28",
"blobs/sha256/9424078d3e517cfe89b694d8dd072d0dfbd4b7527eef5257207b905d61fc3715"
]
}
]
$ tar tvf a/blobs/sha256/ff3a5c916c92643ff77519ffa742d3ec61b7f591b6b7504599d95a4a41134e28 | sort | uniq -d
$ tar tvf a/blobs/sha256/9424078d3e517cfe89b694d8dd072d0dfbd4b7527eef5257207b905d61fc3715 | sort | uniq -d
drwxr-sr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/include/
drwxr-sr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/include-fixed/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/libexec/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/libexec/gcc/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/libexec/gcc/x86_64-alpine-linux-musl/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/libexec/gcc/x86_64-alpine-linux-musl/6.4.0/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/libexec/gcc/x86_64-alpine-linux-musl/6.4.0/install-tools/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/libexec/gcc/x86_64-alpine-linux-musl/6.4.0/plugin/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/finclude/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/include/cilk/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/include/gcj/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/install-tools/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/install-tools/include/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/plugin/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/plugin/include/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/plugin/include/ada/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/plugin/include/ada/gcc-interface/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/plugin/include/c-family/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/plugin/include/config/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/plugin/include/config/i386/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/plugin/include/cp/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/plugin/include/java/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/plugin/include/objc/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/lib/pkgconfig/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/share/aclocal/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/share/gcc-6.4.0/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/share/gcc-6.4.0/python/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/share/gcc-6.4.0/python/libjava/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/share/gcc-6.4.0/python/libstdcxx/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/share/gcc-6.4.0/python/libstdcxx/v6/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/share/gdb/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/share/gdb/python/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/share/gdb/python/auto-load/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/share/gdb/python/auto-load/usr/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/share/gdb/python/auto-load/usr/lib/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/x86_64-alpine-linux-musl/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/x86_64-alpine-linux-musl/bin/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/x86_64-alpine-linux-musl/lib/
drwxr-xr-x root/root 0 2018-01-23 16:35 usr/x86_64-alpine-linux-musl/lib/ldscripts/
Tested with the latest runc worker
This error is caused because the second layer tar contains duplicated entries: