dotnet / dotnet/sdk-container-builds

Whiteout file behavior in layer addition

Open
#8 0 comments 0 reactions 0 assignees View on GitHub
Area: Layer
Dominant language
No language data
Stars
197
Forks
53
PR merge metrics
No merged PRs in 30d

Description

Consider a trivial dockerfile:

```dockerfile
FROM mcr.microsoft.com/dotnet/runtime:6.0

COPY TestFile.txt /app/
```

The layer Docker generates applies an [opaque whiteout](https://github.com/opencontainers/image-spec/blob/7b36cea86235157d78528944cb94c3323ee0905c/layer.md#opaque-whiteout) for the whole `app/` directory:

```sh-session
❯ tar -tf "S:\play\dockercopything\36898d648167f1ac26bc899aa1586cbebb25376d996882f60d8d21b95d0d2ef2\layer.tar"
app/
app/.wh..wh..opq
app/TestFile.txt
```

So we should probably do that too.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the layer-addition code responsible for producing the tar archive shown in the issue. Compare its output with the linked OCI opaque-whiteout specification and verify that a copied file under an existing directory produces the expected app/.wh..wh..opq entry and file.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
build-system, devops
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.