【发布时间】:2023-04-08 12:31:01
【问题描述】:
我有一个 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”。
【问题讨论】:
-
用命令
docker events查看原因,查看文档docs.docker.com/reference/commandline/cli/#events,例如docker events --filter container=c3e7b9f48077 -
这个命令没有任何反应..我运行命令,然后没有任何反应,我需要做一个 Ctrl+C 停止。
-
只要
docker events就能启发我们 -
我已经弄清楚这里发生了什么。实际上命令
/opt/hbase-server正在失败,但我不知道为什么?它与原始图像完美配合。
标签: docker boot2docker