docker - 来自守护程序 : Container CONTAINER_NAME is not running 的错误响应

标签 docker boot2docker

我有一个 docker 镜像 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”。

最佳答案

我希望状态为已退出。也许您使用的原始图像有一个 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

关于docker - 来自守护程序 : Container CONTAINER_NAME is not running 的错误响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29144792/

相关文章:

linux - 不可读的 zsh shell 和退格在 Docker 上的 zsh shell 上不起作用

docker - 在 Jenkins 启动依赖服务

windows - 如何弹出 docker windows 容器的提示?

windows - Docker 无法处理 Dockerfile

docker - 使用 docker-compose 在容器中安装 docker-machine VM 文件夹

windows - 无法从 Windows 中的 docker 访问托管应用程序

dockerd vs docker-containerd vs docker-runc vs docker-containerd-ctr vs docker-containerd-shim

docker - Docker撰写:服务中 “environment”选项的无效插值格式

docker - 在docker中启用squashfs

docker - 我可以在Docker Alpine容器内使用 “mount”吗?