Docker部署spring boot项目

这篇具有很好参考价值的文章主要介绍了Docker部署spring boot项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在docker部署时首先要保证一般部署能够访问。

docker命令部署spring boot项目

目前主流的java框架为spring,软件包为jar包,只需以jar为基础构建容器环境。打包为jar后只需要jvm就可以运行,因此需要以jdk为镜像构建容器。

  1. 基于命令构建jdk环境

拉取openjdk镜像:docker pull openjdk:8

Docker部署spring boot项目

Docker部署spring boot项目

  • 上传web文件,启动容器和web服务

Docker部署spring boot项目

Docker部署spring boot项目

sudo docker run -id --name=springboot1 -p 8080:8080 -v /home/master/java:/root/www openjdk:8构建容器命令。

如上图所设计使用构建容器命令,创建了一个伪终端,终端编号是唯一的,新建一个终端使用docker ps查看容器状态。共享文件需要时绝对路径

构建的容器由于映射了共享文件夹,所以容器和主机都会自动同步。

移动文件到共享文件夹

Docker部署spring boot项目
容器的共享文件夹自动同步了主机共享文件夹的内容,如下图:
Docker部署spring boot项目

启动的容器目录下存在jar文件,在容器终端使用命令行启动即可。
Docker部署spring boot项目
Docker部署spring boot项目

外部浏览器成功访问,到此可部署jar的web因此的docker容器构建成功。

Docker部署spring boot项目
启动成功后直接断开ssh连接即终端容器也继续在后台运行。

使用sudo docker exec -it [container_name] /bin/bash进入容器内部。/bin/bash时linux的交互式终端。一定要有-it表示创建一个伪终端。

-i表示创建交互式容器
-t表示生成一个伪终端

Docker部署spring boot项目

由上图可以看到openjdk竟然526mb,这是由于镜像是一个分层的系统,openjdk底层也使用了其他镜像,软件工具包时构建在操作系统上的,因此jdk也需要构建在操作系统上,因此openjdk的镜像分层如下:

Docker部署spring boot项目

Docker部署spring boot项目

容器面向操作系统,因此操作系统是容器的最底层,镜像也是由此一层层构建,dockerhub中央仓库提供了很多构建完成的镜像,帮助用户省略了一步步构建的过程。

拉取的opennjdk也包含了底层的镜像,因此变的很大。

dockerfile构建镜像并部署spring boot项目

编写dockerfile文件vim dockerfile-jdk

Docker部署spring boot项目

# 构建镜像
FROM openjdk:8
# 维护者西信息
MAINTAINER xiaoux@example.com
# 将主机文件复制到容器目录
ADD ./springboottest-0.0.1-SNAPSHOT.jar /root/www/app.jar
# 端口映射
EXPOSE 8080  # 起一个声明作用并不会实际映射,需要docker run -p映射
# 容器内运行命令
CMD java -jar /root/www/app.jar

sudo docker build -f ./dockerfile-jdk8 -t app .命令基于docckerfile构建容器。

-f执行dockerfile位置
-t给镜像起别名
.指定当前目录

Docker部署spring boot项目

docker minages查看构建的镜像

Docker部署spring boot项目

docker run命令直接构建并启动容器。dockerfile的cmd命令会直接当前docker run的启动命令执行。

也就是说dockerfile配置的参数直接作为docker run的启动的参数命令。由于在配置文件中配置了映射端口,服务启动的命令和共享文件夹,这里直接docker run 镜像名即可。docker run的参数命令会覆盖配置文件的命令。

通过如下命令启动容器,如图

docker run -it -v $pwd:/root/www -p 8080:8080 app

Docker部署spring boot项目

使用dockerfile的方便之处:

  1. 没有了拉镜像,配置分层镜像,配置共享文件夹一系列步骤。
  2. 直接基于dockerfile文件通过docker build构建镜像,docker run运行容器非常方便,避免了镜像版本冲突问题。
  3. 提高了复用性,任何开发者通过dockerfile构建的镜像都完全一样。
  4. 省略了docker run后的一堆参数,书写方便。

Docker部署spring boot项目

通过dockerfile构建镜像启动容器时,端口和共享文件夹是必须要要配置的。文章来源地址https://www.toymoban.com/news/detail-438192.html

到了这里,关于Docker部署spring boot项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker和Kubernetes部署Spring Boot项目:如何灵活修改配置文件?

      大家好,我是G探险者,今天我们来聊一下通过容器化部署的springboot项目,如何灵活的修改配置文件。 有同事问我,我们的springboot项目是容器化部署,使用的是K8S容器编排平台,部署上去后,修改项目里面的配置不太方便,还需要进入到容器内部进行修改,太麻烦了,怎么

    2024年02月10日
    浏览(29)
  • Jenkins + Docker 一键自动化部署 Spring Boot 项目,步骤齐全,少走坑路!

    本文章实现最简单全面的Jenkins+docker+springboot 一键自动部署项目,步骤齐全,少走坑路。 环境 :centos7+git(gitee) 简述实现步骤:在docker安装jenkins,配置jenkins基本信息,利用Dockerfile和shell脚本实现项目自动拉取打包并运行。 推荐一个开源免费的 Spring Boot 实战项目: https://git

    2024年02月08日
    浏览(52)
  • 基于 Docker 的 Spring Boot 项目部署演示,其中使用了 Redis、MySQL 和 RabbitMQ 中间件

    这是一个基于 Docker 的 Spring Boot 项目部署演示,其中使用了 Redis、MySQL 和 RabbitMQ 中间件。 拉取 MySQL 镜像: 创建 MySQL 容器: 将 密码 、 数据库名 、 用户名 和 密码 替换为您自己的值。 拉取 Redis 镜像: 创建 Redis 容器: 拉取 RabbitMQ 镜像: 创建 RabbitMQ 容器: 构建和运行

    2024年02月06日
    浏览(44)
  • [AIGC] Spring Boot Docker 部署指南

    近年来,容器化部署成为了越来越流行的部署方式。Docker 是目前最受欢迎的容器化平台之一,它提供了一种将应用程序与其依赖项打包在一起,并以容器的形式运行的方法。Spring Boot 是一种用于快速开发和微服务架构的框架,它与 Docker 结合使用可以简化应用的部署和管理过

    2024年01月17日
    浏览(40)
  • 【初识 Docker | 中级篇】 Docker 中部署 Spring Boot 微服务详解

    本文将为您详细介绍如何在Docker容器中部署Spring Boot服务。 首先,您需要为您的Spring Boot应用程序创建一个 Docker镜像 。然后将镜像在Docker容器中运行起来即可 提示:以下是本篇文章正文内容,下面案例可供参考 这个Dockerfile文件使用alpine Linux操作系统和OpenJDK 8图像作为基础映

    2024年02月16日
    浏览(34)
  • IDEA 集成 Docker 插件一键部署 Spring Boot 应用

    🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请纠正! 随着容器化技术的崛起,Docker成为了现代软件开发的关键工具。在Java开发中,Spring Boot是一款备受

    2024年02月05日
    浏览(32)
  • 使用Spring Boot和Docker快速部署Java应用程序

    随着微服务的兴起,容器化技术已成为现代应用程序开发和部署的关键部分。Docker作为一种流行的容器化解决方案,广泛应用于企业和开发者社区。与此同时,Spring Boot作为一种优秀的Java开发框架,大大简化了基于Spring的应用程序开发。在本文中,我们将探讨如何将Spring Bo

    2024年02月01日
    浏览(49)
  • Spring Boot与Docker的完美融合:从开发到部署的实战

    一、Spring Boot与Docker简介 Spring Boot框架特点与优势概述 Spring Boot 是一个由Pivotal团队开发的用于简化新Spring应用初始搭建以及开发过程的框架。它的核心特点和优势包括: 简化配置 :Spring Boot采用约定优于配置的方式,减少了大量的XML配置工作,通过自动配置功能极大地加速

    2024年04月26日
    浏览(24)
  • Spring Boot实践 --windows环境下 K8s 部署 Docker

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),用社区版就可以了。 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统

    2024年02月06日
    浏览(32)
  • Jenkins + Docker + Maven + Windows 一键部署 Spring Boot 程序到远程 Linux 服务器

    本地:Windows 10 ; 本地:Jenkins + Publish Over SSH 插件; 本地:Maven ; 远程:Linux ; 远程:Docker ; 准备步骤 使用 Dockerfile 构建镜像; 基本思路 第一步:使用 mvn clean package -DskipTests 打包 Spring Boot 程序为 jar 包; 第二步:使用 Windows 命令将 jar 包复制到 jenkins 项目工作目录;

    2024年02月12日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包