Skip to content

Conversation

tonistiigi
Copy link
Member

fixes #2193

When building from same stream all nodes need to read data from the same stream. In order to achive that there is a new SyncMultiReader wrapper that sends the stream concurrently to all readers. Readers must read at similar speed or pauses will happen while they wait for each other.

Dockerfiles were already written to disk before sent. Now the file written by the first node is reused for others.

When building from same stream all nodes need to read
data from the same stream. In order to achive that there
is a new SyncMultiReader wrapper that sends the stream
concurrently to all readers. Readers must read at similar
speed or pauses will happen while they wait for each other.

Dockerfiles were already written to disk before sent. Now
the file written by first node is reused for others.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
@crazy-max
Copy link
Member

I was wondering if we could have integration tests for this. I think we could have one similar to

func testCreateRemoteContainer(t *testing.T, sb integration.Sandbox) {
where we would create two container builders and a remote one using both as nodes with docker-container:// protocol?

@thompson-shaun thompson-shaun merged commit e403ab2 into docker:master Aug 22, 2024
106 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Build with multiple platform and stdin crashes
3 participants