用于在 docker 容器上运行 spring boot 应用程序的 Docker 文件?

毗湿奴

嗨,我正在尝试创建一个 docker 镜像,其中安装了 java 和 maven,并打开了端口 8090。

容器运行后,我会将我的 spring 启动项目复制到容器中,然后从容器中运行它。

为此,我尝试创建 docker 文件。我能够在本地成功构建 docker 映像。

当我尝试用它创建容器时。它没有提起容器。我已经浪费了我的两天时间。

我使用了以下 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
ENTRYPOINT ["/bin/bash"] 

注意:当我从该图像创建容器时,我希望容器处于运行状态。

docker hub 中是否有任何预定义的 Docker Image 可以让我的工作变得简单?

如果你们给我一个 docker 文件来回答我的问题,我会很高兴。

我知道只有 stackoverflow 可以解决我的问题。提前致谢。

毗湿奴

问题出在端点上。必须在端点启动服务。一旦此服务(进程)完成,容器就会退出。

在我的例子中,我在入口点调用了一个简单的 spring boot 应用程序,它监听端口 8090。

经过2天多的挣扎,学习效果很好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Windows上的Docker Engine将忽略Spring Boot Web应用程序的server.port属性

在Docker中运行Spring Boot应用程序时发生异常

InfluxDB docker镜像不适用于我的Spring Boot应用程序镜像

无法加载在Docker中运行的Spring Boot应用程序

为什么是 !在docker上的spring-boot应用程序的属性文件路径中?

使用Docker-Compose运行多个Spring-Boot应用程序

Docker-compose-为运行Spring Boot独立应用程序的Docker容器提供基于XML的配置

Docker服务运行状况检查不适用于Spring Boot应用程序

Spring Boot应用程序可以在IntelliJ中运行,但不能作为Docker容器运行

如何使JSF与docker容器中的spring-boot应用程序一起使用?

Spring Boot Actuator返回Docker上的应用程序

Docker容器中的Prometheus无法到达Spring Boot应用程序

容器化Spring Boot应用程序时的Docker错误

如何访问在Docker容器中运行的Spring应用程序?

在不同的Docker容器中运行的Spring Boot应用拒绝连接

在Docker容器中运行Spring Boot应用程序,无法连接MySQL

运行 spring 应用程序的 Jetty Docker 容器无法连接到在 docker 容器外运行的 mysql

使用 Jaeger 跟踪检测在 Docker 容器中执行的 Spring-Boot 应用程序

如何将我的 Spring Boot 应用程序连接到 docker 上的 redis 容器?

是否可以将非容器化的 Spring Boot 应用程序连接到 MongoDB Docker 容器?

尝试在 docker 中运行 spring boot 应用程序时出现 java.lang.NoClassDefFoundError

使用 Docker 容器化的 Spring Boot Maven 应用程序 - 基于配置文件标志构建 WAR

运行 Spring Boot 应用程序的 Docker 容器不响应请求

spring boot 应用程序未连接到在 docker 容器中运行的 activemq

如何docker镜像spring boot应用程序?

带有 Postgres 应用程序的 Spring Boot 无法在 Docker 上运行。错误:PSQLException:连接到 127.0.0.1:5432 被拒绝。

在我的 Spring Boot 应用程序(ELK)的 Docker 容器中运行的 Kibana 中看不到日志信息

如何从 dockerized spring boot 应用程序连接 docker db?

登录部署到 Docker Tomcat 的 Spring Boot 应用程序