4

When running below command in command line(terminal) this gets executed fine:

$sudo docker exec -it 5570dc09b58 bash

But same results with :

FATA[0000] cannot enable tty mode on non tty input

Error when running in a shell script file.

1
  • Well, that makes sense; there is no terminal in a shell script. What are trying to do? Commented Apr 2, 2015 at 10:59

3 Answers 3

1

Scripts may be forced to run in interactive mode with the -i option or with a #!/bin/bash -i header.

So adding shebang to the script with -i option should work:

#!/bin/bash -i

docker exec -it ed3d9e46b8ee date

Run the script as usual:

chmod +x run.sh
sudo ./run.sh 

Output:

Thu Apr  2 14:06:00 UTC 2015
Sign up to request clarification or add additional context in comments.

Comments

1

You are not running docker in a terminal, so you should remove -t from -it:

sudo docker exec -i 5570dc09b58 bash

See a more detailed answer here.

1 Comment

This is the correct answer. I was using -it in jenkins Execute Shell but met this error. After I remove the -t, it works, thanks.
0

There are few images which do not support the interactive shell/bash. Example - Docker image mockserver/mockserver Docker Set Up

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.