dockerfile - 為什么docker容器啟動(dòng)不了?
問題描述
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)過,但是馬上就停止了。這是什么原因?
補(bǔ)充:嘗試三種鏡像的啟動(dòng),centos,mysql,nginx,結(jié)果只有nginx能啟動(dòng)。其他兩個(gè)怎么也啟動(dòng)不了。
補(bǔ)充二:問題基本已經(jīng)找到了,原因就是:Docker容器后臺運(yùn)行,就必須有一個(gè)前臺進(jìn)程。主線程結(jié)束,容器會(huì)退出。sudo docker run -d centos 改成 sudo docker -dit centos 就行了。總感覺有點(diǎn)別扭,大家還有更好的解決辦法嗎?望大家指教。。。
問題解答
回答1:sudo docker run -t -i centos /bin/bash
回答2:通過 docker logs 容器ID 可以查看到容器主程序的輸出,嘗試通過這個(gè)分析一下原因。
另外系統(tǒng)鏡像默認(rèn)啟動(dòng)是bash,如果沒有銜接輸入流,本身就會(huì)馬上結(jié)束。
相關(guān)文章:
1. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.2. docker gitlab 如何git clone?3. android - 項(xiàng)目時(shí)間長了,字符串文件strings有的字符串可能是多余的,有沒有辦法快速檢測那些是沒用的?4. javascript - 怎么看網(wǎng)站用了什么技術(shù)框架?5. mysql - 用PHPEXCEL將excel文件導(dǎo)入數(shù)據(jù)庫數(shù)據(jù)5000+條,本地?cái)?shù)據(jù)庫正常,線上只導(dǎo)入15條,沒有報(bào)錯(cuò),哪里的問題?6. java報(bào)錯(cuò)Communications link failure 該如何解決?7. 刷新頁面出現(xiàn)彈框8. 關(guān)于Android權(quán)限的獲取問題,大家遇到過這樣的情況嘛?9. angular.js - angularJs ngRoute怎么在路由傳遞空字符串及用ng-switch取得10. PC 手機(jī)兼容的 編輯器
