无法以守护进程模式启动 Docker 容器

无法以守护进程模式启动 Docker 容器

这是我的docker文件:

FROM ubuntu:16.04

RUN apt-get update --fix-missing && apt-get install -y emacs npm git nodejs

RUN rm -rf  .emacs .emacs.d
RUN git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d

RUN ln -s /usr/bin/nodejs /usr/bin/node

RUN npm install && npm install -g yarn

我尝试以守护进程模式启动它,以便稍后可以附加到该进程

docker run -d spacemacs bash

但它未能留驻

CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS                      PORTS               NAMES
d4f867eb78f1        spacemacs                 "bash"              3 minutes ago       Exited (0) 3 minutes ago                        loving_turing

为什么会这样?我之前已经以守护进程模式运行过其他容器。

答案1

docker run -d spacemacs bash

您运行该命令bash时没有输入任何内容,因此它退出了。如果您在普通的 Linux 提示符下执行此操作,也会发生同样的情况:

$ bash </dev/null
$ echo $?
0

如果您希望稍后连接到正在运行的 bash shell,您可以告诉 docker 该命令是交互式的,以便它保持 stdin 开放。我还建议分配一个 tty:

docker run -dit spacemacs bash

相关内容