【问题标题】:Docker: bash terminal starts without promptDocker:bash终端在没有提示的情况下启动
【发布时间】:2014-01-19 04:26:04
【问题描述】:

我有一个看起来像这样的简单容器:

FROM devbox/rails3.2.1

RUN apt-get install -y -q libmysql-ruby libmysqlclient-dev
RUN apt-get install -y -q libqtwebkit-dev
EXPOSE 3000
CMD /bin/bash

其中 devbox/rails3.2.1 是我制作的一个容器,它以“FROM ubuntu”开头并安装 Ruby on Rails。这是使用 Ubuntu 12.04.3 LTS 在 Vagrant Virtual Box VM 中运行的。当我使用:

 docker run -t -i -name myapp -p 3000:3000 -v /src/myapp:/src/myapp -link myappsql:myappsql devbox/myapp

容器启动,但我的终端显示一个没有提示的空行,并且输入没有任何作用。如果我运行 docker ps 我可以看到容器正在运行。更奇怪的是,如果我打开第二个终端并运行“docker attach myapp”,我会得到一个正常运行的终端(尽管我必须先按 Enter),如果我切换回我的第一个终端并输入,输出会出现在我的第二个终端中!

非常感谢任何帮助。

【问题讨论】:

  • 你是否在“devbox/rails3.2.1”中使用了任何入口点?
  • 没有。它以 CMD bash 结束
  • 您的主目录中有 .bashrc 等吗?可能需要找到PROMPT 的设置。祝你好运。
  • 你试过CMD ["/bin/bash"]吗?

标签: bash ubuntu ubuntu-12.04 docker


【解决方案1】:

这听起来像是预期的功能。 在执行“docker run”命令时,将“/bin/bash”放入其中,以便您立即使用 bash,而无需先附加。

docker run -t -i -name myapp -p 3000:3000 -v /src/myapp:/src/myapp -link myappsql:myappsql devbox/myapp /bin/bash

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 2013-03-07
    • 2017-04-25
    • 2015-10-26
    相关资源
    最近更新 更多