簡體   English   中英

docker attach:為什么我不能從Docker容器中分離出來?

[英]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-pctrl-shift-q + ctrl-shift-p 即使設置分離鍵,例如--detach-keys="p"也不會從容器中分離。

此外,其他事情似乎不起作用。 例如,根據文檔, ctrl-c應該使附加的容器停止和分離。 但是,我無法讓ctrl-c在我的任何容器上工作。 然而,與ctrl-q不同, ctrl-c按預期呈現反饋,在終端中顯示^C

我注意到由於某種原因,當我按下ctrl-p ,我在終端中得到一個^P ,但按ctrl-qctrl-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM