搜尋

首頁  >  問答  >  主體

dockerfile - 為什麼docker容器啟動不了?

sudo docker run -d centos /bin/bash建立容器之後,使用docker ps -a 發現容器已經停止,再使用docker start id 啟動容器之後,觀察ps -a 的操作時間,發現容器其實已經啟動過,但是馬上就停止了。這是什麼原因?

補充:嘗試三種鏡像的啟動,centos,mysql,nginx,結果只有nginx能啟動。其他兩個怎麼也啟動不了。

補充二:問題基本上已經找到了,原因就是:Docker容器後台運行,就必須有一個前台進程。主執行緒結束,容器會退出。
sudo docker run -d centos 改成 sudo docker -dit centos 就行了。
總是覺得有點彆扭,大家還有更好的解決方法嗎?望大家指教。 。 。

世界只因有你世界只因有你2829 天前903

全部回覆(2)我來回復

  • 世界只因有你

    世界只因有你2017-04-25 09:05:07

    sudo docker run -t -i centos /bin/bash

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-04-25 09:05:07

    透過 docker logs 容器ID 可以查看到容器主程式的輸出,試著透過這個分析一下原因。

    另外系統鏡像預設啟動是bash,如果沒有銜接輸入流,本身就會馬上結束。

    回覆
    0
  • 取消回覆