[英]docker attach: Why can't I detach from my Docker container?
出於某種原因,我在運行docker attach <container>
后無法從Docker容器中分離。 文檔說使用Ctrl-p, Ctrl-q
,但這似乎不起作用。 我也嘗試過ctrl-q + ctrl-p
(組合,與順序相反)和ctrl-shift-q, ctrl-shift-p
和ctrl-shift-q + ctrl-shift-p
。 即使設置分離鍵,例如--detach-keys="p"
也不會從容器中分離。
此外,其他事情似乎不起作用。 例如,根據文檔, ctrl-c
應該使附加的容器停止和分離。 但是,我無法讓ctrl-c
在我的任何容器上工作。 然而,與ctrl-q
不同, ctrl-c
按預期呈現反饋,在終端中顯示^C
我注意到由於某種原因,當我按下ctrl-p
,我在終端中得到一個^P
,但按ctrl-q
或ctrl-shift-q
不會產生終端反饋。
任何人都可以猜測為什么會發生這種情況?
如果重要的話,我在MacOS上使用iTerm2。 此外,有問題的容器是使用docker-compose
啟動的。
編輯:為了清楚起見,我使用docker-compose up
在以下compose
文件上啟動了我的容器:
version: '3'
services:
test:
build:
context: .
dockerfile: Dockerfile
container_name: container-test
ports:
- "5050:5050"
然后我附上使用:
$ docker attach container-test
編輯2:經過一些測試,我可以確認MacOS終端中仍存在此問題。
您可以使用--sig-proxy=false
來阻止信號傳遞到容器並使用Ctrl+C
分離:
docker attach --sig-proxy=false container-test
這似乎是一個眾所周知的問題: https : //github.com/docker/for-mac/issues/1598
我發現通過在docker-compose
添加以下行,我可以讓它退出並響應輸入。
services:
test:
// etc...
stdin_open: true
tty: true
// etc...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.