如何将你的Spring Boot应用程序Docker化

135 阅读3分钟

概述

在这篇文章中,我们将探讨如何将我们的Spring Boot应用程序docker化。如今在软件开发领域,有一种做基于容器的部署的冲动。Docker 是一种开源技术,主要用于开发、运输和运行应用程序。一旦你将一个应用程序及其所有依赖项打包到Docker容器中,你就可以确保它在任何环境中运行。

术语

在我们深入了解应用程序的docker化过程之前,最好先了解一下docker术语。

Docker文件

  • Docker文件是一个简单的文本文件,包含如何构建镜像的说明。

Docker镜像

  • 一个Docker镜像包含一套创建可以在Docker平台上运行的容器的说明。

docker容器

  • 容器是Docker镜像的实例,可以使用Docker运行命令来运行。Docker 的基本目的是运行容器。

docker hub/registry

  • 注册表的工作原理基本类似于git仓库,允许你推送和拉动容器镜像。

docker compose

  • Compose是一个用于定义和运行多容器Docker应用程序的工具。

docker volume

  • 为了能够保存(持久化)数据,也为了在容器之间共享数据,Docker 提出了_卷_的概念。

让我们开始Dockerise!

medium.com/media/6670b…

1.创建Jar文件

作为第一步,你需要使用下面的命令来创建一个可执行的jar文件。

  • 如果你使用的是maven
$ mvn clean install
$ gradle build

你应该能在spring boot项目的目标文件夹下看到生成的jar。这个jar文件的好处是,我们可以像运行一个控制台应用程序一样运行这个Web应用程序。所以我们的下一步是创建一个docker文件。

2.创建Docker文件

我们必须在项目的根目录下创建一个docker文件。

FROM openjdk:8-jdk-alpine

FROM:我们正在从基础镜像openjdk构建我们的镜像,我们把OpenJDK作为一个父镜像,并在此基础上构建。

VOLUME:这是Spring Boot应用程序所需要的,因为Tomcat在内部试图在这个卷中创建一个工作文件夹。

ADD : 它将我们的jar添加到docker镜像中。

ENTRYPOINT:它指定了我们的应用程序运行的入口点。

3.构建Docker镜像

转到docker文件的位置,打开命令提示符,运行以下命令。

  • 如果您使用的是maven
$ docker build -t tag-name/image-name .
$ docker build — build-arg JAR_FILE=build/libs/*.jar -t tag-name/image-name .

你可以通过使用以下命令检查现有的镜像。

docker image ls

注意:现在你可以把你的镜像推送到docker hub。这样别人就可以拉取你的镜像并运行docker镜像。我们可以使用同一个镜像创建多个容器。

4.运行Docker容器

为了运行我们的docker镜像,我们必须要做端口映射。这是因为我们的应用程序是在某种虚拟环境中运行的,所以我们必须做端口映射,从你的主机到docker-machine。使用下面的命令来做这个。

$ docker run -p 9090:8080 -t tag-name/image-name

如果你想停止我们的容器,使用下面的命令。

$ docker container stop container ID

要了解更多关于docker的信息,请浏览 开始使用docker

我希望你已经了解了如何使用Docker将Spring Boot应用程序容器化。谢谢你的阅读😊。


How To Dockerize your Spring Boot Application最初发表于Medium上的Javarevisited,在那里人们通过强调和回应这个故事来继续对话。