Example #1
0
        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);
        }
Example #2
0
        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);
        }