来自守护程序的错误响应: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