尽管在前台运行并且有 -it 选项,docker 却没有运行

尽管在前台运行并且有 -it 选项,docker 却没有运行

我有一个在 Ubuntu 容器上使用 Apache2/Tomcat 的应用程序。它在“/etc/init.d/apatomcat”中有脚本

这是我的 Dockerfile:

这是我在 cmd 上尝试执行的操作(包括带有前台的 -D 选项等)。

docker 启动并连接

docker 运行并执行

root@docker:~/tomcat-Docker/ubuntu# cat Dockerfile 
FROM ubuntu:14.04
ENV http_proxy 'http://wsa.corp.com:8000'
ENV https_proxy 'http://wsa.corp.com:8000'
ENV DEBIAN_FRONTEND noninteractive 
ENV apatomcat_DIR=/var/apatomcat/apatomcat/
RUN rm /bin/sh && ln -s /bin/bash /bin/sh

COPY apt.conf /etc/apt/apt.conf
RUN apt-get -y update
RUN apt-get install -y vim python2.7 openjdk-7-jdk ssh ant 

CMD chmod a+rwx /etc/profile.d/apatomcat.sh

COPY apatomcat.conf /etc/apatomcat/apatomcat.conf

CMD /etc/init.d/apatomcat start &
CMD /etc/init.d/ssh restart &

EXPOSE 8080
ENTRYPOINT service ssh restart && bash
root@docker9:~/tomcat-Docker/ubuntu# docker build -t apatomcat .

docker start 9e1752bf7650  
docker attach 9e1752bf7650

root@docker:~/tomcat-Docker/ubuntu# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES



root@docker:~/tomcat-Docker/ubuntu# docker run -i -t apatomcat  /bin/bash
root@docker:~/tomcat-Docker/ubuntu# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

尽管阅读了无数文章,但似乎仍然无法保持开启状态并关闭。谢谢。

答案1

也许您正在寻找docker logs <container>帮助来告诉您原因?另外,我认为您只能使用一行(我是 Docker 新手),并且容器的持续时间只能与它们在 CMD 中运行的进程一样长。在您的情况下,它会在该部分 CMD之后退出。CMD chmod

相关内容