dockerfile - 為什么docker容器啟動(dòng)不了?
問(wèn)題描述
sudo docker run -d centos /bin/bash創(chuàng)建容器之后,使用docker ps -a 發(fā)現(xiàn)容器已經(jīng)停止,再使用docker start id 啟動(dòng)容器之后,觀察ps -a 的操作時(shí)間,發(fā)現(xiàn)容器其實(shí)已經(jīng)啟動(dòng)過(guò),但是馬上就停止了。這是什么原因?
補(bǔ)充:嘗試三種鏡像的啟動(dòng),centos,mysql,nginx,結(jié)果只有nginx能啟動(dòng)。其他兩個(gè)怎么也啟動(dòng)不了。
補(bǔ)充二:問(wèn)題基本已經(jīng)找到了,原因就是:Docker容器后臺(tái)運(yùn)行,就必須有一個(gè)前臺(tái)進(jìn)程。主線(xiàn)程結(jié)束,容器會(huì)退出。sudo docker run -d centos 改成 sudo docker -dit centos 就行了。總感覺(jué)有點(diǎn)別扭,大家還有更好的解決辦法嗎?望大家指教。。。
問(wèn)題解答
回答1:sudo docker run -t -i centos /bin/bash
回答2:通過(guò) docker logs 容器ID 可以查看到容器主程序的輸出,嘗試通過(guò)這個(gè)分析一下原因。
另外系統(tǒng)鏡像默認(rèn)啟動(dòng)是bash,如果沒(méi)有銜接輸入流,本身就會(huì)馬上結(jié)束。
相關(guān)文章:
1. MySQL的聯(lián)合查詢(xún)[union]有什么實(shí)際的用處2. 數(shù)組排序,并把排序后的值存入到新數(shù)組中3. mysql時(shí)間格式問(wèn)題4. mysql的主從復(fù)制、讀寫(xiě)分離,關(guān)于從的問(wèn)題5. mysql 遠(yuǎn)程連接出錯(cuò)10060,我已經(jīng)設(shè)置了任意主機(jī)了。。。6. mysql - sql 左連接結(jié)果union右連接結(jié)果,導(dǎo)致重復(fù)性計(jì)算怎么解決?7. php多任務(wù)倒計(jì)時(shí)求助8. 怎么能做出標(biāo)簽切換頁(yè)的效果,(文字內(nèi)容隨動(dòng))9. 默認(rèn)輸出類(lèi)型為json,如何輸出html10. PHP訂單派單系統(tǒng)
