无法运行docker容器?

时间:2018-03-26 02:04:38

标签: docker dockerfile

enter image description here

我使用docker build -t iot .来构建图片 我的Dockerfile是:

FROM centos
USER root
ADD jdk1.8.0_101.tar.gz /root
COPY  run.sh /etc
RUN chmod 755 /etc/run.sh
CMD "/etc/run.sh"

我的run.sh是:

  #!/bin/bash
    echo "aaaa"

我使用docker run -itd iot来运行容器,但我发现我的容器无法运行。 enter image description here

我该怎么办?

2 个答案:

答案 0 :(得分:2)

您的图片构建并正确运行。您只需要从运行中删除d标志(用于分离)或者docker命令将立即退出并在后台运行您的容器。根据{{​​1}}中的状态列,您可以看到它实际上已退出代码为零。

您可以通过运行docker ps -a(这是您的容器ID)来证实这一点。您应该看到docker logs d63a

答案 1 :(得分:0)

您的描述不准确。当您docker run容器时,它通常会启动,打印aaaa,然后退出。

所以我想你会问的是"为什么我的容器无法继续运行,例如守护进程"。这是因为你正在执行一个实际上是一次性的shell脚本。将Dockerfile中的CMD行修改为CMD "bash",您的容器将不会退出。