文章详情页
dockerfile - 为什么docker容器启动不了?
问题描述
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. 老师,CSS3里面,选择一个DIV,这个DIV是以什么为原点进行旋转的啊?2. javascript - JS用ajax爬取百度外卖店家信息3. html - vue如何定义一个变量,让所有组件都能使用4. android - 求 360浏览器 百度浏览器 搜狗浏览器的最新启动类名5. 数据库设计 - Binary Allow Null Default mysql数据库字段属性问题 ?6. PHP中的$this代表当前的类还是方法?7. pdo 写入到数据库的内容为中文的时候写入乱码8. mysql每隔10来秒就有一次7、8MB的写入9. javascript - 微信提现页面的键盘怎么做的10. php laravel框架模型作用域
排行榜