环境 JDK11+springboot,写一个简单的 Controller,返回 hello World

使用 maven package 打包工程,生成对应的 jar 包。

在 target 中找到 jar 包

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fcdn.nlark.com%2Fyuque%2F0%2F2025%2Fpng%2F38629240%2F1737010256216-cdf19256-b5cc-42f3-a04c-1b1fc2e97789.png&pos_id=img-QDMw60OW-173751068417

把 Jar 包拿过来,放到服务器的目录下面去。

先把 openjdk 11 给拉去下来

docker  pull  openjdk:11

在这里插入图片描述

编写的 Dockerfile 文件

FROM openjdk:11

WORKDIR /user

COPY app-0.0.1-SNAPSHOT.jar app.jar  #将原来jar拷贝成新的jar包

EXPOSE 8080  #暴露端口
 
ENTRYPOINT ["java", "-jar", "app.jar"]
docker build -t wzkjhello  .   //运行这个命令  构建出wzkjhello的镜像

运行容器

docker run -d --restart=always --name wzkjhello -p 8080:8080  wzkjhello

访问成功

这个中间的几个概念

a. Dockerfile

  • 定义:Dockerfile 是一个文本文件,包含了一系列指令,用于自动化构建 Docker 镜像。
  • 作用:通过编写 Dockerfile,可以定义应用程序的运行环境、所需的依赖、配置文件等,确保环境的一致性和可重复性。

b. 镜像(Image)

  • 定义:镜像是一个轻量级、可执行的独立软件包,包含运行某个应用程序所需的所有代码、运行时、库、环境变量和配置文件。
  • 特性
    • 只读:镜像本身是只读的,多层文件系统(Layered File System)。
    • 可复用:同一个镜像可以被多个容器共享,节省存储空间。

c. 容器(Container)

  • 定义:容器是镜像的运行实例,是一个隔离的、可运行的环境,包含应用程序及其所有依赖。
  • 特性
    • 轻量级:共享宿主机的操作系统内核,启动速度快。
    • 隔离性:每个容器彼此独立,确保应用的安全和稳定性。
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐