gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 21:23:51 24 4
gpt4 key购买 nike

我有一个 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com