Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
runc exec: don't enable terminal unless -t is set
If container's config.json have `"terminal": true` setting in its "process" section, runc exec assumes that stdin (fd 0) is a terminal and tries to use it. This leads to the following error in case stdin is not a terminal: > ERRO[0000] exec failed: provided file is not a console So, even if -t/--tty is not set, exec uses stdin as a terminal. It does not help that urfave/cli v1 parser we use does not allow to use `-t no` or `-t false`. Since the settings in config.json is probably for the container run/start, not for the auxiliary process started inside a container with exec, do not use a setting from there, only treating stdin as a terminal in case `-t` is explicitly given. Tests that use runc exec with a terminal are amended with -t. Signed-off-by: Kir Kolyshkin <[email protected]>
- Loading branch information