Merge pull request #2975 from thaJeztah/attach_refactor

Slight cleanup/refactor of attachContainer
This commit is contained in:
Silvin Lubecki 2021-05-31 16:27:56 +02:00 committed by GitHub
commit 1c174ced5e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 20 additions and 27 deletions

View File

@ -214,32 +214,7 @@ func runContainer(dockerCli command.Cli, opts *runOptions, copts *containerOptio
return nil return nil
} }
func attachContainer( func attachContainer(ctx context.Context, dockerCli command.Cli, errCh *chan error, config *container.Config, containerID string) (func(), error) {
ctx context.Context,
dockerCli command.Cli,
errCh *chan error,
config *container.Config,
containerID string,
) (func(), error) {
stdout, stderr := dockerCli.Out(), dockerCli.Err()
var (
out, cerr io.Writer
in io.ReadCloser
)
if config.AttachStdin {
in = dockerCli.In()
}
if config.AttachStdout {
out = stdout
}
if config.AttachStderr {
if config.Tty {
cerr = stdout
} else {
cerr = stderr
}
}
options := types.ContainerAttachOptions{ options := types.ContainerAttachOptions{
Stream: true, Stream: true,
Stdin: config.AttachStdin, Stdin: config.AttachStdin,
@ -253,6 +228,24 @@ func attachContainer(
return nil, errAttach return nil, errAttach
} }
var (
out, cerr io.Writer
in io.ReadCloser
)
if config.AttachStdin {
in = dockerCli.In()
}
if config.AttachStdout {
out = dockerCli.Out()
}
if config.AttachStderr {
if config.Tty {
cerr = dockerCli.Out()
} else {
cerr = dockerCli.Err()
}
}
ch := make(chan error, 1) ch := make(chan error, 1)
*errCh = ch *errCh = ch
@ -284,7 +277,7 @@ func reportError(stderr io.Writer, name string, str string, withHelp bool) {
if withHelp { if withHelp {
str += "\nSee 'docker " + name + " --help'." str += "\nSee 'docker " + name + " --help'."
} }
fmt.Fprintln(stderr, "docker:", str) _, _ = fmt.Fprintln(stderr, "docker:", str)
} }
// if container start fails with 'not found'/'no such' error, return 127 // if container start fails with 'not found'/'no such' error, return 127