docker run it 后镜像自己退出,如何让它不退出?

如题,

sudo docker run -it resin/rpi-raspbian /bin/bash

理论上来说 bash 没有被关闭,应该是可以用的,但是为什么,每次运行后看

sudo docker ps 

都没有运行中的镜像。
通过

sudo docker run -it resin/rpi-raspbian /bin/echo "hello world"

//或者

sudo docker ps -a

可以验证,docker是执行过然后退出了,加了-it 命令应该会进入镜像的bash 然后进行交互的,但是却没有,这种情况怎么搞呀...

Docker version 1.12.6, build 78d1802

阅读 19.8k
3 个回答

你的问题1

1.docker run -it 过后请别使用CTRL+C退出
2.使用CTRL+P+Q退出当前容器内部回话,他就会后台运行了。

如果没解决你得问题,请尝试查看日志信息

$docker logs ${container_id}

你后面的问题

docker会默认容器内部pid为1的作为标识,如果1死了那么容器也会死掉,echo "hello"后,pid会死掉,那么自然容器会死掉。

文档

在官方文档中,包含docker cli介绍中run使用 -it 如下
Docs

因为你没有加 -d 参数

遇到同样问题了,?

  1. -d参数 直接进入后台
  2. ctrl + p + q 也可以进入后台
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏