【问题标题】:Dockerfile: why doesn't the bash command work?Dockerfile:为什么 bash 命令不起作用?
【发布时间】:2016-09-27 18:11:42
【问题描述】:

我想从一个非常简单的开始学习 Dockerfile,所以这是我的 Dockfile:

FROM ubuntu
ENTRYPOINT /bin/bash

但是,在构建映像并运行容器后,我发现我无法运行 bash 命令。例如,如果我输入:

# clear

容器似乎卡在无限循环中运行。 那么为什么会这样呢?我该如何解决?

【问题讨论】:

  • 您是否在 docker run 命令中添加了 -it? docker run -it --rm --entrypoint /bin/bash ubuntu -c "clear" 似乎有效...
  • 请添加您用于运行容器的命令,以及容器 bash 中的输出。

标签: bash ubuntu docker dockerfile


【解决方案1】:

你是如何运行容器的?请注意,您必须传递选项 -i 以保持 STDIN 处于打开状态,并传递 -t 以分配伪 TTY。

您可以在下面找到一个示例:

docker run -i -t my-image

【讨论】:

  • 是的,我忘记在运行容器时添加 -i 了!谢谢!
【解决方案2】:

docker run -it ubuntu

发布这个命令,你会得到如下提示:

root@26f9e7a42517:/#

【讨论】: