public async Task AttachAsync(string id, IOutputConsumer outputConsumer, CancellationToken ct = default) { Logger.LogInformation("Attaching {outputConsumer} at container {id}", outputConsumer.GetType(), id); var attachParameters = new ContainerAttachParameters { Stdout = true, Stderr = true, Stream = true, }; var stream = await this.Docker.Containers.AttachContainerAsync(id, false, attachParameters, ct) .ConfigureAwait(false); _ = stream.CopyOutputToAsync(Stream.Null, outputConsumer.Stdout, outputConsumer.Stderr, ct) .ConfigureAwait(false); }
public async Task AttachAsync(string id, IOutputConsumer outputConsumer, CancellationToken ct = default) { if (!outputConsumer.Enabled) { return; } this.logger.AttachToDockerContainer(id, outputConsumer.GetType()); var attachParameters = new ContainerAttachParameters { Stdout = true, Stderr = true, Stream = true, }; var stream = await this.Docker.Containers.AttachContainerAsync(id, false, attachParameters, ct) .ConfigureAwait(false); _ = stream.CopyOutputToAsync(Stream.Null, outputConsumer.Stdout, outputConsumer.Stderr, ct) .ConfigureAwait(false); }