附加到正在執行的容器

附加到容器是在容器(及其中的任何程式)執行的上下文中啟動終端會話的行為。這主要用於除錯目的,但如果需要將特定資料傳遞給容器內執行的程式,則可能還需要此功能。

attach 命令用於執行此操作。它有這樣的語法:

docker attach <container>

<container> 可以是容器 ID 或容器名稱。例如:

docker attach c8a9cf1a1fa8

要麼:

docker attach graceful_hopper

你可能需要提供以上命令,具體取決於你的使用者以及如何設定 docker。

注意:Attach 僅允許一次將單個 shell 會話附加到容器。

警告: 所有鍵盤輸入都將轉發到容器。擊中 Ctrl-c 會殺死你的容器。

從連線的容器上分離,Ctrl-p 然後連續點選 Ctrl-q

要將多個 shell 會話附加到容器,或者僅作為替代,你可以使用 exec。使用容器 ID:

docker exec -i -t c8a9cf1a1fa8 /bin/bash

使用容器的名稱:

docker exec -i -t graceful_hopper /bin/bash

exec 將執行一個容器內的程式,在這種情況下/bin/bash(一個 shell,大概是容器中的一個)。-i 表示互動式會話,而 -t 表示偽 TTY。

注意:與 attach 不同,hitting Ctrl-c 只會在互動式執行時終止 exec’d 命令。