gpt4 book ai didi

docker - 无法在部署在Docker上的应用程序上打开页面

转载 作者:行者123 更新时间:2023-12-02 19:52:04 26 4
gpt4 key购买 nike

Windows 10 Spring-Boot应用程序
我成功运行了Gradle并构建了我的Spring Boot项目。

在application.yml中

server:
port: 8090
  • 通过这样的项目构建:

    gradlew组装

  • 结果是在文件夹构建中创建 Artifact
    /eshop/java/eshop/build/libs/eshop-0.0.1.jar
  • 我可以这样运行我的应用程序(在build / lib文件夹中):

    java -jar eshop-0.0.1.jar
  • 成功打开网页上的该地址:

    http://localhost:8090

  • 真好

    现在,我想在Docker中部署和运行我的应用程序。

    所以这是我的步骤:

    1.在项目文件夹中创建下一个Dockerfile:
    FROM openjdk:8
    ADD build/libs/eshop-0.0.1.jar eshop-0.0.1.jar
    EXPOSE 8085
    ENTRYPOINT ["java", "-jar", "eshop-0.0.1.jar"]
  • 运行Docker服务器
  • 在我项目的文件夹
  • 中打开docker控制台
  • 创建docker镜像:

    docker build -f Dockerfile -t eshop。
  • 打印图像列表

    docker 图像
    $ docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    eshop latest d3059d8ce7a0 20 seconds ago 534MB
    <none> <none> e25799bbe4e3 23 hours ago 534MB
    openjdk 8 8c6851b1fc09 6 days ago 488MB
    tomcat latest 94e31e5297d1 4 weeks ago 507MB
    hello-world latest fce289e99eb9 13 months ago 1.84kB
  • 从端口8090上的镜像运行docker容器

    docker 运行eshop -p 8090:8090
    [INFO ] 2020-01-29 17:05:24.265 [main] ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
    [INFO ] 2020-01-29 17:05:24.878 [main] WelcomePageHandlerMapping - Adding welcome page template: index
    [INFO ] 2020-01-29 17:05:26.209 [main] EndpointLinksResolver - Exposing 5 endpoint(s) beneath base path '/actuator'
    [INFO ] 2020-01-29 17:05:26.480 [main] Http11NioProtocol - Starting ProtocolHandler ["http-nio-8090"]
    [INFO ] 2020-01-29 17:05:26.601 [main] TomcatWebServer - Tomcat started on port(s): 8090 (http) with context path ''
    [INFO ] 2020-01-29 17:05:26.610 [main] Main - Started Main in 34.679 seconds (JVM running for 42.95)
  • 打印所有容器

    $ docker ps
    容器ID图像命令创建的状态端口名称
    bf2833e14739 eshop“java -jar eshop-0.0…”大约一分钟前向上大约一分钟8085 / tcp flamboyant_brown
  • 在我的容器上打印IP地址

    $ docker inspect bf2833e14739 | grep“IPAddress”
    “SecondaryIPAddresses”:null,
    “IPAddress”:“172.17.0.2”,
    “IPAddress”:“172.17.0.2”,
  • 现在,我尝试在地址http://172.17.0.2:8090/上打开我的应用程序,但未打开。
    也可以尝试http://172.17.0.2:8085/,但无法打开

  • 为什么?

    最佳答案

    我找到了解决方案:

  • 打印ip

    docker-machine ip默认

  • 我得到 192.168.99.100
  • 运行容器

    docker 运行-p 8090:8090 eshop
  • 并在下一个地址打开页面:

    http://192.168.99.100:8090/

  • 现在,它取得了成功

    关于docker - 无法在部署在Docker上的应用程序上打开页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59972397/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com