首頁  >  問答  >  主體

container - 为了让docker容器一直运行难道要写个死循环的程序?

为了让docker容器一直运行难道要写个死循环的程序?
我想让容器一直运行

ringa_leeringa_lee2758 天前1555

全部回覆(9)我來回復

  • 天蓬老师

    天蓬老师2017-04-24 09:11:36

    雷雷

    回覆
    0
  • PHPz

    PHPz2017-04-24 09:11:36

    docker run -d .....

    -d 參數就是讓docker一直在後台持續運行,

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-24 09:11:36

    你run的命令要是可持續運行的,不能像ls一樣運行完就停止了,然後加上-d就可以了

    回覆
    0
  • 高洛峰

    高洛峰2017-04-24 09:11:36

    如果你想使用 -d 後台運行,目前只能使用可持續運行的命令,否則運行完成就會停止了。

    回覆
    0
  • 迷茫

    迷茫2017-04-24 09:11:36

    不是特別明白你的場景, 我看你問了好幾個docker相關問題, 給你幾個條命令供你參考,希望對你有用.

    创建启动容器   docker run -itd <image-di> /bin/bash
    单纯启动容器   docker start <container-id>
    连接容器      docker attach <container-id>
    回到宿主机    ctrl+p,ctrl+q      

    回覆
    0
  • 黄舟

    黄舟2017-04-24 09:11:36

    可以前台執行個程式就可以了,或是使用supervisor來管理執行的程式

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-24 09:11:36

    你可以這樣

     CMD tail -f /var/log/cron.log 
    

    在DockerFile中運行一個持續輸出的任務
    好吧,這也差不多是一個死循環

     docker ps -a
    


    在這裡可以看出docker的運行狀態,,up的就是一直運行,exit就是跑完了就退出了~docker跑完了你要它執行的任務就會退出~所以你得寫個持續的命令

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-24 09:11:36

    就算加了-d 只要指令跑完了docker就會認為自己已經沒事乾了,於是自動退出
    要讓容器後台運行,必要要有一個前台進程
    可以在命令後加top,tail之類的一直前台運行的進程

    回覆
    0
  • 黄舟

    黄舟2017-04-24 09:11:36

    我去,樓上的各位都沒有理解樓主的意思。 。 。他的意思是docker內部沒有持續的運行(即在後台運行)。
    要想docker一直運作不退出,可以使用supervisord

    回覆
    0
  • 取消回覆