首页 > 其他分享 >使用Docker 一键部署SpringBoot和SpringCloud项目

使用Docker 一键部署SpringBoot和SpringCloud项目

时间:2023-03-25 15:31:55浏览次数:35  
标签:Compose SpringBoot SpringCloud 应用程序 Docker Dockerfile

Docker是一个非常流行的容器化技术,可以方便地将应用程序和服务打包成容器并运行在不同的环境中。在本篇博客中,我将向您展示如何使用Docker一键部署SpringBoot和SpringCloud项目。

使用Docker 一键部署SpringBoot和SpringCloud项目_SpringBoot

1. 准备工作

在开始之前,您需要确保已经安装了Docker和Docker Compose。如果您还没有安装,请先前往官方网站进行下载和安装。

2. 创建Dockerfile

首先,您需要在SpringBoot和SpringCloud项目的根目录下创建Dockerfile文件。Dockerfile是一个文本文件,其中包含构建Docker镜像所需的指令。

在本例中,我们将创建两个Dockerfile文件,一个用于构建SpringBoot应用程序的镜像,另一个用于构建SpringCloud应用程序的镜像。

这是一个示例SpringBoot应用程序的Dockerfile:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

这个Dockerfile使用openjdk:8-jdk-alpine作为基础镜像,将应用程序打包成一个可执行的JAR文件,然后通过ENTRYPOINT指令将该JAR文件作为应用程序的入口点。

这是一个示例SpringCloud应用程序的Dockerfile:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

这个Dockerfile与SpringBoot的Dockerfile基本相同,只是添加了一个系统属性来确保随机数生成器使用的是真正的随机数。

3. 创建Docker Compose文件

接下来,您需要创建一个Docker Compose文件,该文件定义了如何启动和运行这两个Docker镜像。Docker Compose是一个工具,可以使用单个命令运行多个Docker容器。

在SpringBoot和SpringCloud项目的根目录下创建docker-compose.yml文件,并添加以下内容:

version: '3'
services:
  spring-boot:
    build: .
    ports:
      - 8080: 8080
    depends_on:
      - spring-cloud
  spring-cloud:
    build: .
    ports:
      - 8761: 8761

这个Docker Compose文件定义了两个服务:spring-boot和spring-cloud。每个服务都使用相同的构建上下文(当前目录),并在本地主机的端口8080和8761上公开SpringBoot和SpringCloud应用程序。

4. 构建和运行Docker镜像

现在,您可以使用以下命令构建和运行Docker镜像:

docker-compose up --build

该命令将从当前目录中的Docker Compose文件构建和运行SpringBoot和SpringCloud的Docker镜像。您可以在终端中看到输出,以了解镜像构建和容器运行的状态。

5. 验证部署

完成部署后,您可以验证SpringBoot和SpringCloud应用程序是否正确运行。在浏览器中输入以下URL来访问SpringBoot应用程序:

http://localhost:8080

如果一切正常,您应该能够看到SpringBoot应用程序的欢迎页面。接下来,您可以验证SpringCloud服务是否正在运行。在浏览器中输入以下URL:

http://localhost:8761

如果一切正常,您应该能够看到SpringCloud服务注册中心的页面。

6. 总结

使用Docker和Docker Compose一键部署SpringBoot和SpringCloud项目是一种非常方便和高效的方法。通过使用Docker,您可以确保您的应用程序在不同的环境中始终具有相同的运行行为。此外,使用Docker Compose,您可以方便地定义和管理多个Docker容器。

在实际生产环境中,您可能需要添加更多的配置和安全性措施,例如使用Docker Swarm或Kubernetes来管理Docker容器,并使用证书来保护应用程序通信。但是,在开发和测试环境中,使用Docker和Docker Compose是一个非常好的选择。

标签:Compose,SpringBoot,SpringCloud,应用程序,Docker,Dockerfile
From: https://blog.51cto.com/u_15618273/6149534

相关文章

  • docker 必会基础知识
    Docker知识汇总docker安装安装地址windows:https://desktop.docker.com/win/stable/amd64/Docker%20Desktop%20Installer.exe?utm_source=docker&utm_medium=webreferra......
  • docker启动出现Job for docker.service failed because the control process exited e
    只需要修改docker.server文件即可: 执行以下命令:vimvim/lib/systemd/system/docker.service 然后将ExecStart=/usr/bin/dockerd-Hfd://改成ExecStart=/usr/bin/......
  • docker挂载volume的用户权限问题,理解docker容器的uid
    docker挂载volume的用户权限问题,理解docker容器的uid在刚开始使用dockervolume挂载数据卷的时候,经常出现没有权限的问题。这里通过遇到的问题来理解docker容器用户uid......
  • 小规模容器编排使用Docker Swarm不香么,用个锤子的kubernetes
    文章目录一、DockerSwarm是什么?二、Swarmkit和SwarmMode是什么?三、DockerSwarm的核心设计四、DockerSwarm安装部署4.1、初始化Swarm节点14.2、新节点加入Swarm集群4.3、......
  • install mysql in docker for testing
    installmysqlindockerfortesting#step-1:configuremysql_port='3306'mysql_password='123qwe'mysql_data_dir="~/docker/mysqld_${mysql_port}/data"#step-2:......
  • run mysql server in docker with exist database
    step1:putyourdatabasein$mysql_data_dirfirststep2:putyourmy.confto$mysql_cnf,forexample:thatmy.cnffromalibabacloud[mysqld]pid-file=......
  • docker 部署 1
    先打包本地idea项目  上传到linux服务器任意目录并创建一个叫Dockerfile文件    创建镜像dockerbuild-tmydemo.  启动镜像映射端口 ......
  • gralde插件->docker-compose的使用
    在javaweb项目中,本地开发经常会需要在本地使用docker启动数据库等之类的服务。gradle提供了一个插件,允许通过gradletask启动docker的容器。在这里我们介绍的一个gralde插......
  • easypoi基于springboot实现多sheet导出
    maven<dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-spring-boot-starter</artifactId><version>4.4.0</ve......
  • SpringBoot整合elasticsearch实操
    大家好,我是小悟ElasticSearch是一个分布式的开源搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。Elasticsearch以其简单的REST风......