1 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊
Docker 容器后臺(tái)運(yùn)行和前臺(tái)運(yùn)行的區(qū)別
Posted by simapple on Tuesday, 19 August 2014
后臺(tái)運(yùn)行vs前臺(tái)運(yùn)行
當(dāng)你啟動(dòng)一個(gè)docker 容器的時(shí)候,第一件事就是要確認(rèn)你要在前臺(tái)運(yùn)行還是在后臺(tái)運(yùn)行:
-d=false:Detached mode:Run container in the background,printnew container id
后臺(tái)運(yùn)行 (-d)
后臺(tái)運(yùn)行直接指定 (-d=true or just -d),這樣的話所有的操作類似網(wǎng)絡(luò)連接,共享操作等等都不會(huì)再接受命令行的命令控制。你就要使用attach命令 來(lái)進(jìn)入一個(gè)容器,再管理它,注意當(dāng)你attach鏈接到一個(gè)容器的時(shí)候,你就不能再使用 rm 來(lái)刪除這個(gè)容器。
前臺(tái)運(yùn)行
當(dāng)你不指定-d時(shí),就是在前臺(tái)運(yùn)行, docker run 可以啟動(dòng)一個(gè)進(jìn)程,并且通過(guò)console 連接進(jìn)程的標(biāo)準(zhǔn)輸入 輸出和標(biāo)準(zhǔn)錯(cuò)誤。它甚至可以偽裝成一個(gè)TTY,發(fā)送信號(hào)量。所有這一切都是可以配置的。
-a=[]:Attach to `STDIN`,`STDOUT`and/or`STDERR`-t=false:Allocate a pseudo-tty
--sig-proxy=true:Proxify all received signal to the process (even in non-tty mode)-i=false:Keep STDIN open even ifnot attached
如果你不想使用 -a 來(lái)連接容器的所有輸入輸出,那么你可以指定你希望接受的流STDIN, STDOUT, STDERR):
$ docker run -a stdin -a stdout -i -t ubuntu /bin/bash
在交互式的情況下,你最希望得到一個(gè)類似TTY那樣的shell,你可以 指定 -i -t
taxonomyextra:
docker
- 1 回答
- 0 關(guān)注
- 1019 瀏覽
添加回答
舉報(bào)