我有一个在 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