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容器后臺(tái)運(yùn)行,就必須有一個(gè)前臺(tái)進(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. node.js - nodejs+express+vue2. python 字符串匹配問題3. 使用mysql命令行連接遠(yuǎn)程數(shù)據(jù)庫host跳轉(zhuǎn)4. webgl - android上類似汽車之家的3d全景照片怎么實(shí)現(xiàn)5. linux - redis連接池應(yīng)用在一萬并發(fā)下時(shí)連接數(shù)只有2?6. javascript - 如何獲取未來元素的父元素在頁面中所有相同元素中是第幾個(gè)?7. java - web端百度網(wǎng)盤的一個(gè)操作為什么要分兩次請(qǐng)求服務(wù)器, 有什么好處嗎8. android webview返回自動(dòng)刷新9. python - 如何把152753這個(gè)字符串轉(zhuǎn)變成時(shí)間格式15:27:5310. 用tp5框架寫sql語句

網(wǎng)公網(wǎng)安備