2017-02-17 90 views
1

問:如何運行多克爾譜曲分離模式泊塢窗,構成沒有工作

我試圖運行在分離模式搬運工,撰寫只是它的運行後將退出,但我可以使用'docker run'命令以分離模式運行相同的圖像。

  • 運行圖像使用 '搬運工運行' 指令(在分離模式下工作)

    docker run -itd ubuntu:16.04 
    
    下面

    是 '搬運工PS -a' 命令輸出

    CONTAINER ID  IMAGE    COMMAND    CREATED    STATUS      PORTS    NAMES 
    d84edc987359  ubuntu:16.04  "/bin/bash"   4 seconds ago  Up 3 seconds         romantic_albattani 
    
  • 潤相同的圖像使用「搬運工-構成了-d」命令(未在分離模式下工作)

    下面

    是我的搬運工,compose.yml文件

    version: '3' 
    services: 
    ubuntu: 
        image: ubuntu:16.04 
    

    '泊塢窗,撰寫PS' 命令的輸出

      Name    Command State Ports 
    ---------------------------------------------------- 
    composetesting_ubuntu_1 /bin/bash Exit 0 
    

更新:在docker-真正的參數:當使用TTY compose.yml文件,如下

version: '3' 
services: 
ubuntu: 
    image: ubuntu:16.04 
    tty: true 

然後控制檯將不執行任何命令,如果像I型「的ls -l」命令控制檯將不響應。

回答

4

我不得不TTY補充:真我的搬運工,compose.yml

version: '2' 
    services: 
     ubuntu: 
     image: ubuntu:16.04 
     tty: true 

泊塢版本1.12.5,構建7392c3b

泊塢窗,撰寫版本1.7.1,建立0a9ab35

+0

是的,它的工作原理,但如何。這裏'tty:true'也不是文檔https://docs.docker.com/compose/compose-file/的一部分。非常感謝:) –

+1

@AnandSuthar鏈接去組成版本3格式 - 注意這個例子是版本2;該文件確實包含'tty'。 https://docs.docker.com/compose/compose-file/compose-file-v2/ –

+0

@AnandSuthar並回答你的問題,'TTY:TRUE'只是模擬一個tty,同樣的東西'搬運工運行-t' (在你的問題中使用的例子)。當tty存在時,如果處於分離模式,shell將保持運行;沒有tty,它就會發現沒有別的事情可以做和退出。 –

0

以上@ fewtile42的回答對我的問題是正確的。但是,只有使用「TTY:真正的」參數用戶將無法執行任何命令,所以如果一個也想執行或控制檯一個也應該使用互動「stdin_open:真正的」參數。

version: '2' 
services: 
    ubuntu: 
    image: ubuntu:16.04 
    tty: true 
    stdin_open: true