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)程。主線程結(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. nignx - docker內(nèi)nginx 80端口被占用2. javascript - iframe 為什么加載網(wǎng)頁(yè)的時(shí)候滾動(dòng)條這樣顯示?3. macos - mac下docker如何設(shè)置代理4. dockerfile - 我用docker build的時(shí)候出現(xiàn)下邊問(wèn)題 麻煩幫我看一下5. docker api 開(kāi)發(fā)的端口怎么獲取?6. docker網(wǎng)絡(luò)端口映射,沒(méi)有方便點(diǎn)的操作方法么?7. angular.js - angularjs的自定義過(guò)濾器如何給文字加顏色?8. javascript - 移動(dòng)端,當(dāng)出現(xiàn)遮罩層的時(shí)候,遮罩層里有div是超出高度scroll的,怎么避免滑動(dòng)div的時(shí)候,body跟隨滑動(dòng)?9. 新手 - Python 爬蟲(chóng) 問(wèn)題 求助10. javascript - ejs支持if else語(yǔ)法嗎
