Implement configurable escape key for attach/exec#15666
Implement configurable escape key for attach/exec#15666thaJeztah merged 1 commit intomoby:masterfrom
Conversation
878059f to
f54bcef
Compare
f54bcef to
00256aa
Compare
|
👍 |
e738927 to
678fe2d
Compare
|
A question to answer is if there are already configs in the client config.json that have no flag equivalents, and if not, then is that something we want ? IOW, if we add a config in config.json, should we also add a flag? |
|
@tiborvass good question 🐱 I'm wondering what should be the flag then 😅. /cc @duglin @thaJeztah @runcom 😝 |
if I'm understanding correctly your question, another question is, what's the use case for having this defined as a flag? do really ppl run their containers assigning different escape keys? why would they? (notificed the original issue is for |
|
@runcom talking with @tiborvass a bit on IRC, there might be usecase for a one-off different escape keys : when doing dind and need to detach from the inner container without detaching from the outer one — editing the config file inside the outer container is not that convenient. A flag would be handy there 😅 |
|
Ok that's the use case I haven't thought about :) |
|
As an addendum, I don't think this should be on |
678fe2d to
77bb32d
Compare
|
@tiborvass you're talking only about the |
|
@vdemeester i just realized we still allow detaching from |
|
@tiborvass hum you think we should disable detaching from exec no matter this PR ? I kinda agree on this but pretty sure this should be another PR (probably to be merged before that one). I can take a look 😉 |
|
@vdemeester I agree that issue is a separate one :) |
a3a5d71 to
471e06d
Compare
|
I would want to change this to be system default. |
|
@rhatdan what do you mean by that ? |
|
I would want to change all containers to run with a different detach command. Something like what tmux does. I want to set it in a config or on the daemon and be done with it. I don't want to think about if for every docker run command. |
|
@rhatdan well this is the goal of this PR : to add a config options (on client side, on |
|
damn you github, why are you removing/adding the wrong labels 😢 |
Implement configurable detach keys (for `attach`, exec`, `run` and `start`) using the client-side configuration - Adds a `--detach-keys` flag to `attach`, `exec`, `run` and `start` commands. - Adds a new configuration field (in `~/.docker/config.json`) to configure the default escape keys for docker client. Signed-off-by: Vincent Demeester <[email protected]>
2c518ac to
15aa2a6
Compare
|
It's green 🎉 \o/ |
Implement configurable escape key for attach/exec
|
🎉 🎅 |
|
Hi, I have a question on using this detachKeys config. We are using ecs instance on which these docker tasks are run. Following the documentation, I added the "detachKeys": "ctrl-e" to /root/.docker/config.json but it does not seem to take effect. I still have to use ctrl-c to exit on attach and that kills the container. Could someone share some pointers on resolving this? I have tried restarting the docker daemon but to no avail. Would highly appreciate some help. Thanks. |
|
@pulserdd I've just tested with 1.11.1 and |
|
hm, in that case either the documentation is incorrect, or something changed in the parsing of that file https://docs.docker.com/engine/reference/commandline/cli/#configuration-files |
|
Ah. I've been looking at docker-machine configs recently and seeing title case. I've just tried ( |
|
Thanks for your replies. I tried to follow your comments but still the same issue. Here's what I have in config Result: my docker version |
|
@pulserdd oh it's normal then, this feature is only available starting docker 1.10… |
|
oh ok sorry I missed that while following the docs. Thanks once again for a great community support. |
|
@vdemeester Can you please correct the example in the first post since people sometimes refer to this pull request as a documentation page (like me 😄 ). The wrong example: {
"detachKey": "ctrl-a,a"
}The correct one: {
"detachKeys": "ctrl-a,a"
} |
|
@MhdSyrwan thanks for letting us know! I updated the description |
Implement configurable escape keys (for
attach,exec,runandstart) using the client-side configuration and/or flags--detach-keys. This takes some pieces from #6460 from @vieux — except that this time it uses the client configuration (~/.docker/config.jsonfor example). 🐧The configuration looks like this :
{ "detachKeys": "ctrl-a,a" }The default keybinding stays the same :
ctrl-p ctrl-qbut it makes possible to configure something else.There is room for improvements on the code that should be address during the design review process I think :
attachcommand I use queryString (detachKeys=ctrl-a%2Ca) but forexeccommand I usedrunConfig.ExecConfig. That felt weird and it's not coherent, it should be the same thing for both. It could maybe be passed as HTTP Header, I don't know 😅 — that's why I'm putting this in review.detachKeyspassed, It's just logged and the defaults one are used.keys, err = term.ToBytes(detachKeys)part is repeated few times..).json:omitemptyforDetachKeysonrunconfig.ExecConfig.What is still to do :
run,start,attach,exec)🐸
Fixes #3519.
Signed-off-by: Vincent Demeester [email protected]