为什么我的 docker 容器不工作

why is my docker container not working

我试图在 docker 容器中启动 Web 应用程序

这是我的docker文件

FROM centos:6

EXPOSE 9980

RUN yum install -y wget

RUN wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.rpm"

RUN yum localinstall -y jdk-8u60-linux-x64.rpm

RUN mkdir /usr/local/apps

WORKDIR /usr/local/apps

COPY ac-gui ac-gui/

RUN mv /etc/localtime /etc/localtime.bak

RUN ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime

RUN chmod 775 ac-gui/start.sh ac-gui/stop.sh

ENTRYPOINT ["ac-gui/start.sh"]

start.sh

#!/bin/sh

export APP_HOME=/usr/local/apps/ac-gui
export JAVA_HOME=/usr/java/jdk1.8.0_60
export PATH=$JAVA_HOME/bin:$PATH

export PID_FILE=$APP_HOME/ac-gui.pid


cd $APP_HOME

$JAVA_HOME/bin/java -server -jar ac-gui.war --spring.config.name=ac-gui >> ac-gui.log 2>&1 &

echo "$!" > "$PID_FILE"

如果我运行

docker run -i -t -p 9980:9980 ac-gui bash

和运行 ac-gui/start.sh 在容器内,对我来说很好用。

但如果我只是 运行 容器作为

docker run -d -p 9980:9980 ac-gui 

容器将退出 (0)。

我做错了什么吗?

我刚刚从

所以只需删除我 start.sh 中的 & 即可解决问题