🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄
🌹简历模板、学习资料、面试题库、技术互助🌹文末获取联系方式 📝
往期专栏回顾
专栏 | 描述 |
---|---|
Java项目实战 | 介绍Java组件安装、使用;手写框架等 |
Aws服务器实战 | Aws Linux服务器上操作nginx、git、JDK、Vue |
Java微服务实战 | Java 微服务实战,Spring Cloud Netflix套件、Spring Cloud Alibaba套件、Seata、gateway、shadingjdbc等实战操作 |
Java基础篇 | Java基础闲聊,已出HashMap、String、StringBuffer等源码分析,JVM分析,持续更新中 |
Springboot篇 | 从创建Springboot项目,到加载数据库、静态资源、输出RestFul接口、跨越问题解决到统一返回、全局异常处理、Swagger文档 |
Spring MVC篇 | 从创建Spring MVC项目,到加载数据库、静态资源、输出RestFul接口、跨越问题解决到统一返回 |
华为云服务器实战 | 华为云Linux服务器上操作nginx、git、JDK、Vue等,以及使用宝塔运维操作添加Html网页、部署Springboot项目/Vue项目等 |
Java爬虫 | 通过Java+Selenium+GoogleWebDriver 模拟真人网页操作爬取花瓣网图片、bing搜索图片等 |
Vue实战 | 讲解Vue3的安装、环境配置,基本语法、循环语句、生命周期、路由设置、组件、axios交互、Element-ui的使用等 |
Spring | 讲解Spring(Bean)概念、IOC、AOP、集成jdbcTemplate/redis/事务等 |
前言
本章节介绍Docker 在Windows环境下的安装,结合Springboot项目在Idea(使用最新版本IntelliJ IDEA 2023.3.3,Java版本最低17)中使用。
介绍Docker
Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。
Docker 官网:https://www.docker.com
Github Docker 源码:https://github.com/docker/docker-ce
Docker菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html
Windows安装Docker Desktop
我们这里演示在WIndows 10下安装Docker Desktop,Docker Desktop 是 Docker 在 Windows 10 和 macOS 操作系统上的官方安装方式,这个方法依然属于先在虚拟机中安装 Linux 然后再安装 Docker 的方法。
Docker Desktop 官方下载地址: https://docs.docker.com/desktop/install/windows-install/
安装 Hyper-V
Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。这是 Docker Desktop for Windows 所使用的虚拟机。
但是,这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!如果你必须在电脑上使用其他虚拟机(例如开发 Android 应用必须使用的模拟器),请不要使用 Hyper-V!
1、搜索-输入部分关键词就可以
2、把虚拟机服务都打开
安装 Docker Desktop
直接双击下载好的【Docker Desktop Installer.exe】,安装途中注意选择【Hyper-V】选项,千万不要选择【WSL】服务,坑太多解决不完。
安装成功
docker安装成功之后,在电脑右下角运行时区,就可以看到鲸鱼的图标,显示【Docker Desktop running】,这是Docker Desktop安装好之后自动启动了。
也可查看服务:
【win + r】键盘,输入【services.msc】,可以看到【Docker Desktop Service】服务是运行中的状态。
打开Docker Desktop
初次打开,可以选择创建账号登录,也可以选择游客身份进入。
运行第一个docker命令
打开【cmd】命令窗口,输入:
docker run hello-world
通过Idea创建Springboot项目,并集成Docker
使用IntelliJ IDEA 2023.3.3,JDK版本最低支持17,Springboot版本最低3.1。
创建项目
1、使用Spring initializr来快捷创建项目
2、填写相关信息:项目名称、目录地址、语言、type、JDK选项、Java版本等
3、 下一步选择Springboot版本,勾选所需组件
咱们第一次选择简单的,Lombok、Spring Boot DevTools、Docker Compose Support、Spring Web、PostgreSQL Driver。集成了Docker Compose,也加上了PostgreSQL。
查看项目结构
包含项目名,Java Springboot项目的结构(src、main、java、resource、application.properties、DockerDemoApplication.java、pom.xml),以及docker-compose的compose.yaml文件。
修改项目端口
application.properties里添加:
server.port=80
查看pom.xml
- spring-boot版本:3.1.9-SNAPSHOT
- java.version:17
- spring-boot-docker-compose包运行时加载
- postgresql、lombok、spring-boot-starter-test
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.1.9-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>dockerDemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>dockerDemo</name>
<description>dockerDemo</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-docker-compose</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<image>
<builder>paketobuildpacks/builder-jammy-base:latest</builder>
</image>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<releases>
<enabled>false</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
</project>
查看compose.yaml文件
通过docker-compose去加载postgres,镜像:postgres:latest
services:
postgres:
image: 'postgres:latest'
environment:
- 'POSTGRES_DB=mydatabase'
- 'POSTGRES_PASSWORD=secret'
- 'POSTGRES_USER=myuser'
ports:
- '5432'
运行项目
Springboot项目怎么启动就怎么来
查看Docker Desktop
在Containers里,新增了跟咱们Java项目同名的dockerdemo。
新增Controller并访问
访问服务
在浏览器输入【http://127.0.0.1/docker】,访问Springboot项目API接口。
总结
至此,Docker 入门第一篇 安装Docker Desktop并结合Springboot在Idea中应用就完结了,全程基本上都是傻瓜式操作,不需要动脑,快速的把第一个演示项目跑起来。
资料获取,更多粉丝福利,关注下方公众号获取