为什么docker容器会立即退出

为什么docker容器会立即退出

我在后台运行一个容器

 docker run -d --name hadoop h_Service

它快速退出。但如果我在前台运行,它运行正常。我使用了检查日志

docker logs hadoop

没有错误。有任何想法吗?

DOCKERFILE

 FROM java_ubuntu_new
 RUN wget http://archive.cloudera.com/cdh4/one-click-install/precise/amd64/cdh4-repository_1.0_all.deb
 RUN dpkg -i cdh4-repository_1.0_all.deb
 RUN curl -s http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/archive.key | apt-key add -
 RUN  apt-get update
 RUN apt-get install -y hadoop-0.20-conf-pseudo
 RUN dpkg -L hadoop-0.20-conf-pseudo
 USER hdfs
 RUN hdfs namenode -format
 USER root
 RUN apt-get install -y sudo
 ADD . /usr/local/
 RUN chmod 777 /usr/local/start-all.sh
 CMD ["/usr/local/start-all.sh"]

start-all.sh

 #!/usr/bin/env bash
 /etc/init.d/hadoop-hdfs-namenode start
 /etc/init.d/hadoop-hdfs-datanode start
 /etc/init.d/hadoop-hdfs-secondarynamenode start
 /etc/init.d/hadoop-0.20-mapreduce-tasktracker start
 sudo -u hdfs hadoop fs -chmod 777 /
 /etc/init.d/hadoop-0.20-mapreduce-jobtracker start
 /bin/bash


温温酱
浏览 2080回答 3
3回答

GCT1015

这对我有用:docker run -dit ubuntu之后,我检查了运行的进程:docker ps -a用于再次连接容器docker attach CONTAINER_NAME提示:要在不停止容器类型的情况下退出: ^P^Q

米琪卡哇伊

我想延伸或者敢说,改善camposer提到的答案当你跑步docker&nbsp;run&nbsp;-dit&nbsp;ubuntu您基本上是以交互模式在后台运行容器。当您通过CTRL + D(最常见的方式)连接和退出容器时,您停止容器,因为您刚刚使用上述命令杀死了启动容器的主进程。利用已经运行的容器,我只需要分叉另一个bash进程并通过运行获取伪TTY:docker&nbsp;exec&nbsp;-it&nbsp;<container&nbsp;ID>&nbsp;/bin/bash
打开App,查看更多内容
随时随地看视频慕课网APP