来自守护程序的错误响应:Container CONTAINER_NAME未在运行

我有一个docker镜像dajobe / hbase,它是从Ubuntu构build的。 我创build了一个这个图像的容器,并命名为HB。

$ docker run -d --name hb dajobe/hbase e1f68ff8b3b6c5e474426e2566f8c087d6a785fc5eeb58cd2aeb86176068651d 

然后我启动了/ bin / bash,并检查了vi编辑器的可用性。

 $ docker exec -it hb /bin/bash root@e1f68ff8b3b6:/# vi bash: vi: command not found 

然后我使用apt-get来安装vi编辑器

 # apt-get install vim Reading package lists... DoneBuilding dependency tree Reading state information... Done ..... ..... 

我想提交更改,以便vi编辑器可以坚持下去。

 $ docker commit hb dajobe/hbase 1be196188efc5a52562dc8ee1b63d0fd560ea163c49331c10dc435848d75ef64 

那么,当我再次启动dajobe / hbase时,它会自动停止。

 $ docker run -d --name hb dajobe/hbase c3e7b9f48077ef854efc6f9bab5e85986e265c98de5423bece0000c973206c38 $ docker exec -it hb /bin/bash FATA[0000] Error response from daemon: Container hb is not running 

为什么容器没有运行?

 $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c3e7b9f48077 dajobe/hbase:latest "/opt/hbase-server" 11 secs ago Exited (0) 8 secs ago hb 

为什么状态是“退出”? 在提交之前,情况并非如此,状态是“Up”。

我希望状态退出。 也许你使用的原始图像有一个入口点,这个入口点在你执行的时候做了一些让容器运行的东西。 你可以试试这个:

 docker run -d --name hb dajobe/hbase sleep 60 

然后尝试一下你的exec,在接下来的60秒内你将连接到你的交互式shell。 之后,你会再次得到相同的消息。

-d使容器成为守护进程。 它需要做的事情,但是,否则它只是退出! 你有没有尝试只是用-it来运行?

 docker run -it --name hb dajobe/hbase bash 

你也会在那里得到一个shell提示符,你可以在那里更新图像。

-G