I am using docker run /bin/bash
to develop my container and every time I want to use Ctrl+p
in a terminal or in emacs, I have to type it twice, since docker uses it to detach from a container (Ctrl+p
Ctrl+q
).
How can I change Ctrl+p
to something else more convenient that is not used in emacs or in a terminal setting?
You have to use two combinations, one after the other: ctrl+p followed by ctrl+q. You turn interactive mode to daemon mode, which keeps the container running but frees up your terminal. You can attach to it later using docker attach, if you need to interact with the container more.
In both cases, the docker container acts as if it simply ignores Ctrl-C. Starting with docker 0.6. 5 , you can add -t to the docker run command, which will attach a pseudo-TTY . Then you can type Control-C to detach from the container without terminating it.
In general they are same as what you have mentioned and read in reference links for python. streams for receiving or reading input (stdin) and printing output (stdout). Example input from the keyboard or printing output to unix terminal. one reference here.
Docker has a configuration file and you can change the detach binding by adding
{ "detachKeys": "ctrl-z,z" }
to ~/.docker/config.json
.
If there are other entries in config.json
then just add the "detachKeys" entry as the last one. For example:
{ "HttpHeaders": { "User-Agent": "Docker-Client/19.03.11 (linux)" }, "detachKeys": "ctrl-z,z" }
Note: If you are running docker using sudo docker ...
the .docker
directory with the configuration file must be in the root's home directory (i.e., /root/.docker/config.json
).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With