Skip to content

Commit

Permalink
Enable sig-proxy by default in run and attach
Browse files Browse the repository at this point in the history
  • Loading branch information
vieux committed Oct 29, 2013
1 parent a6a274f commit e0b59ab
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 8 deletions.
5 changes: 4 additions & 1 deletion commands.go
Expand Up @@ -1324,7 +1324,7 @@ func (cli *DockerCli) CmdLogs(args ...string) error {
func (cli *DockerCli) CmdAttach(args ...string) error {
cmd := Subcmd("attach", "[OPTIONS] CONTAINER", "Attach to a running container")
noStdin := cmd.Bool("nostdin", false, "Do not attach stdin")
proxy := cmd.Bool("sig-proxy", false, "Proxify all received signal to the process (even in non-tty mode)")
proxy := cmd.Bool("sig-proxy", true, "Proxify all received signal to the process (even in non-tty mode)")
if err := cmd.Parse(args); err != nil {
return nil
}
Expand Down Expand Up @@ -1523,6 +1523,9 @@ func (cli *DockerCli) CmdRun(args ...string) error {
flSigProxy := cmd.Lookup("sig-proxy")
sigProxy, _ := strconv.ParseBool(flSigProxy.Value.String())
flName := cmd.Lookup("name")
if config.Tty {
sigProxy = false
}

var containerIDFile *os.File
if len(hostConfig.ContainerIDFile) > 0 {
Expand Down
6 changes: 1 addition & 5 deletions container.go
Expand Up @@ -109,7 +109,6 @@ var (
ErrContainerStart = errors.New("The container failed to start. Unkown error")
ErrContainerStartTimeout = errors.New("The container failed to start due to timed out.")
ErrInvalidWorikingDirectory = errors.New("The working directory is invalid. It needs to be an absolute path.")
ErrConflictTtySigProxy = errors.New("TTY mode (-t) already imply signal proxying (-sig-proxy)")
ErrConflictAttachDetach = errors.New("Conflicting options: -a and -d")
ErrConflictDetachAutoRemove = errors.New("Conflicting options: -rm and -d")
)
Expand Down Expand Up @@ -167,7 +166,7 @@ func ParseRun(args []string, capabilities *Capabilities) (*Config, *HostConfig,
flNetwork := cmd.Bool("n", true, "Enable networking for this container")
flPrivileged := cmd.Bool("privileged", false, "Give extended privileges to this container")
flAutoRemove := cmd.Bool("rm", false, "Automatically remove the container when it exits (incompatible with -d)")
flSigProxy := cmd.Bool("sig-proxy", false, "Proxify all received signal to the process (even in non-tty mode)")
cmd.Bool("sig-proxy", true, "Proxify all received signal to the process (even in non-tty mode)")
cmd.String("name", "", "Assign a name to the container")

if capabilities != nil && *flMemory > 0 && !capabilities.MemoryLimit {
Expand Down Expand Up @@ -212,9 +211,6 @@ func ParseRun(args []string, capabilities *Capabilities) (*Config, *HostConfig,
if *flWorkingDir != "" && !path.IsAbs(*flWorkingDir) {
return nil, nil, cmd, ErrInvalidWorikingDirectory
}
if *flTty && *flSigProxy {
return nil, nil, cmd, ErrConflictTtySigProxy
}
if *flDetach && *flAutoRemove {
return nil, nil, cmd, ErrConflictDetachAutoRemove
}
Expand Down
4 changes: 2 additions & 2 deletions docs/sources/commandline/cli.rst
Expand Up @@ -30,7 +30,7 @@ To list available commands, either run ``docker`` with no parameters or execute
Attach to a running container.

-nostdin=false: Do not attach stdin
-sig-proxy=false: Proxify all received signal to the process (even in non-tty mode)
-sig-proxy=true: Proxify all received signal to the process (even in non-tty mode)

You can detach from the container again (and leave it running) with
``CTRL-c`` (for a quiet exit) or ``CTRL-\`` to get a stacktrace of
Expand Down Expand Up @@ -575,7 +575,7 @@ network communication.
-entrypoint="": Overwrite the default entrypoint set by the image
-w="": Working directory inside the container
-lxc-conf=[]: Add custom lxc options -lxc-conf="lxc.cgroup.cpuset.cpus = 0,1"
-sig-proxy=false: Proxify all received signal to the process (even in non-tty mode)
-sig-proxy=true: Proxify all received signal to the process (even in non-tty mode)
-expose=[]: Expose a port from the container without publishing it to your host
-link="": Add link to another container (name:alias)
-name="": Assign the specified name to the container. If no name is specific docker will generate a random name
Expand Down

1 comment on commit e0b59ab

@hashar
Copy link

@hashar hashar commented on e0b59ab Nov 28, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This causes --tty to always disable signal proxying. That is the topic of #9098. It is very annoying and often a source of confusion, eg when you do something like:

$ docker run -it longrunning/thing
<PRESS ^C>

And nothing happens :-] Merci Victor !

Please sign in to comment.