任何人都可以让我知道什么是我的docker文件的问题?

我需要一个运行java的容器,我想公开端口8090。

这里是我写的Docker文件来实现这一点。

FROM ubuntu:16.04 ENV DEBIAN_FRONTEND noninteractive ENV VERSION 8 ENV UPDATE 152 ENV BUILD 16 ENV SIG aa0333dd3019491ca4f6ddbe78cdb6d0 ENV JAVA_HOME /usr/lib/jvm/java-${VERSION}-oracle # install jre RUN apt-get update -qq && \ apt-get upgrade -qqy --no-install-recommends && \ apt-get install curl unzip bzip2 -qqy && \ mkdir -p "${JAVA_HOME}" && \ curl --silent --location --insecure --junk-session-cookies --retry 3 \ --header "Cookie: oraclelicense=accept-securebackup-cookie;" \ http://download.oracle.com/otn-pub/java/jdk/"${VERSION}"u"${UPDATE}"-b"${BUILD}"/"${SIG}"/jre-"${VERSION}"u"${UPDATE}"-linux-x64.tar.gz \ | tar -xzC "${JAVA_HOME}" --strip-components=1 && \ apt-get remove --purge --auto-remove -y curl unzip bzip2 && \ apt-get autoclean && apt-get --purge -y autoremove && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* RUN update-alternatives --install "/usr/bin/java" "java" "${JAVA_HOME}/bin/java" 1 && \ update-alternatives --install "/usr/bin/javaws" "javaws" "${JAVA_HOME}/bin/javaws" 1 && \ update-alternatives --set java "${JAVA_HOME}/bin/java" && \ update-alternatives --set javaws "${JAVA_HOME}/bin/javaws" EXPOSE 8090 

使用Dockerfile我能够成功地build立图像,我已经推到我的帐户hub.docker.com

但是当我运行尝试使用以下命令运行容器,该容器未运行。

我打断了我的头,分析了超过两个小时的根本原因,我无法find问题。

我知道我错过了一些愚蠢的东西,任何人都可以看看,并指出我正在做的错误?

提前致谢

您的Dockerfile缺less一个ENTRYPOINT或CMD指令。 他们定义启动容器时运行的命令。

参考CMD

参考进入点

您没有定义入口点或CMD。

一些有用的链接: