docker – 来自守护程序的错误响应:容器CONTAINER_NAME未运行

我有一个docker image dajobe / hbase,它是用Ubuntu构建的.我创建了一个这个图像的容器,并将其命名为hb.

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

然后我在hb上启动了/ 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”.@H_502_50@

最佳答案@H_502_50@
我希望状态为退出.也许你正在使用的原始图像有一个ENTRYPOINT,可以在你执行它时保持容器运行.你可以试试这个:

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

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

-d使容器成为守护进程.但它需要做一些事情,否则就会退出!您是否尝试过使用-it进行运行?

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

您也可以在那里获得shell提示,您可以在其中对图像进行更新.

-G

@H_502_50@

相关文章

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Li...
1、什么是docker?答:docker是开源的应用容器引擎;开发人员把他们的应用及依赖包打包发布到容器当中。...
1、什么是namespace? 答:名称空间,作用隔离容器 2、namespace隔离有那些? 答:ipc:共享内存、消息队...
1、Docker能在非Linux平台(Windows+MacOS)上运行吗? 答:可以 2 、如何将一台宿主机的docker环境...
环境要求: IP hostname 192.168.1.1 node1 项目规划: 容器网段:172.16.10.0/24 NGINX:172.16.10.10...
文档上传地址:https://files.cnblogs.com/files/lin-strive/07-docker%E8%B7%A8%E4%B8%BB%E6%9C%BA%E7...