文章詳情頁
dockerfile - 為什么docker容器啟動不了?
瀏覽:343日期:2024-10-19 11:36:30
問題描述
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 就行了。總感覺有點別扭,大家還有更好的解決辦法嗎?望大家指教。。。
問題解答
回答1:sudo docker run -t -i centos /bin/bash
回答2:通過 docker logs 容器ID 可以查看到容器主程序的輸出,嘗試通過這個分析一下原因。
另外系統鏡像默認啟動是bash,如果沒有銜接輸入流,本身就會馬上結束。
相關文章:
1. Java后端需要掌握angular.js嗎?是主要在后臺的前臺用嗎?2. 【python小白】 問關于導入嵌套的包的問題3. nginx和web服務都跑在docker容器里時,nginx負載均衡如何配置服務的IP地址4. html5 - 使用canvas的fillText方法寫文字時,坐標的問題。5. Java 中的synchronized鎖代碼塊的時候需不需要這個類是單例6. angular.js - angular2 有什么cool的loading組件么?7. javascript - nodejs關于進程間發送句柄的一點疑問8. 一個阿里云的服務器,可以部署兩個javaweb項目嗎?兩個項目域名不同9. javascript - vue2.0動態加載多個相同組件,給組件中的data輸入不同的值,關閉非最后一個組件時,銷毀的值是最后一個組件值。10. javascript - 如何判斷一個點是否在svg一個閉合的路徑中?
排行榜
