Dockerfile中编译、打包、部署spring boot项目

1、Dockerfile

1.1、什么是Dockerfile

        Dockerfile是自动构建docker镜像的配置文件,将镜像构建过程通过指令的方式定义在Dockerfile中。配合docker build命令行可以实现自动化的Docker镜像的构建。

1.2、Dockerfile语法解析

        我们在学习一门语言或文档语法的时候,最快的学习方式就是看别人是怎么写的。这里这个“「别人」”是谁就很重要,跟着臭棋篓子下棋越下越臭。

        所以学习Dockerfile语法,我们有必要找一个模范:大家可以去Dockerhub看一下那些开源软件官方提供的镜像,都可以找到对应的Dockerfile,看看别人是怎么写的。我们就以上文中的nginx:1.20.2版本docker镜像的Dockerfile( 官方提供的),我们来逐行解析它的语法及构建过程。本文中涉及的脚本都可以在github:docker-nginx官方渠道获取。

1.3、Dockerfile命令

FROM

        一般我们构建镜像的都需要一个基础的linux操作系统的发行版镜像,并且在此基础上我们构建自己的镜像。
        所以FROM指令的作用就是指定基础镜像,nginx这里使用的基础linux镜像是debian:bullseye-slim。其中debian:bullseye是debian的linux发行本操作系统的一个版本,版本名称叫做bullseye。slim通常是指这个镜像是该发行版本中的最小安装版本,因为我们构建完成的镜像是要在后续的持续集成过程中,以及仓库和docker服务器之间网络传播的,所以尽可能让镜像的构建结果size最小化。「基础镜像的选择要着重考虑size的大小,满足linux基本功能及你的程序运行的前提下越小越好」

FROM debian:bullseye-slim

LABEL

        LABEL用于给当前镜像添加一些描述、解释性信息,如:当前镜像的维护人及联系方式等信息。用键值对的方式自定义,一行可以定义多个。

LABEL <key>=<value> <key>=<value> <key>=<value> ...

maintainer、description

        也可以定义多行,如maintainer维护人信息,description镜像描述信息。如果描述信息一行写不下,可以用“\”换行。

LABEL maintainer="NGINX Docker Maintainers "
LABEL description="This is a Docker image \
for nginx 1.20.2. "

        Dockerfile语法中有一个指令叫做MAINTAINER,用于描述该镜像的维护人信息,但是现在已经不建议使用了,统一使用LABEL。

ENV

        ENV的作用是设置环境变量,该环境变量设置之后,可以在shell脚本中使用。

        使用方法如:${NGINX_VERSION}。学过JAVA的同学想想你的JAVA_HOME环境变量怎么设置的以及怎么使用的?ENV是同样的道理。只不过放到docker这里语法发生了变化而已,语法格式:ENV 环境变量KEY 环境变量Value。

ENV NGINX_VERSION 1.20.2
ENV NJS_VERSION 0.7.0
ENV PKG_RELEASE 1~bullseye

RUN

        RUN指令的作用就是执行linux的shell脚本,通过下图可以看到在shell脚本中可以使用通过ENV定义的环境变量。
        对于nginx镜像而言,RUN指令的作用就是执行一系列shell命令行来(脚本)完成nginx的安装。所以说要想掌握RUN指令的重点不在于RUN指令本身,关键在于:

  • 你会不会手动安装nginx?
  • 你会不会l
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux上配置Spring Boot项目,需要按照以下步骤进行操作: 1. 首先,确保你的Linux系统已经安装了Java Development Kit(JDK)。可以使用以下命令检查是否已安装: ``` java -version ``` 如果未安装Java,请根据你的发行版安装适当的JDK版本。 2. 下载并安装Apache Maven。Maven是一个用于构建Java项目的工具。你可以从Maven官方网站下载最新版本的二进制文件,并按照官方文档的说明进行安装。 3. 在Linux上创建一个新的项目目录,用于存储Spring Boot项目的源代码和相关文件。 4. 使用命令行进入项目目录,并使用以下命令生成一个新的Spring Boot项目: ``` mvn archetype:generate -DgroupId=com.example -DartifactId=project-name -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` 这将使用Maven的原型插件生成一个基本的Spring Boot项目结构。 5. 进入生成的项目目录: ``` cd project-name ``` 6. 打开src/main/java/com/example/App.java文件,并添加一个简单的Spring Boot应用程序代码。可以参考下面这个示例: ```java package com.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } } ``` 7. 在项目根目录下创建一个新的src/main/resources/application.properties文件,并根据你的需求进行配置。 8. 使用以下命令编译打包项目: ``` mvn package ``` 这将生成一个可执行的JAR文件,可在其他计算机上运行Spring Boot应用程序。 9. 在Linux上运行Spring Boot应用程序: ``` java -jar target/project-name.jar ``` 这将启动Spring Boot应用程序并监听默认端口(通常为8080)。 现在,你已经成功在Linux上配置和运行了一个简单的Spring Boot项目。你可以根据自己的需求进一步扩展和定制该项目

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值