mac使用docker部署Springboot项目

本文详细介绍了如何在Dockerfile中使用Java基础镜像,配置文件复制、端口暴露、启动命令,以及处理数据库地址和网络问题,特别提到了针对mac的Linux/amd64平台构建和运行Docker容器的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编写dockerfile文件

#基础镜像使用java
FROM java:openjdk-8u111
# 作者
MAINTAINER sunxiaoshi<787363325@qq.com>
# 添加文件
COPY ./target/admin-1.0.jar /app.jar
# 暴露端口
EXPOSE  8989:8989
# 启动程序
ENTRYPOINT ["java","-jar","/app.jar"]

ocker 打包镜像
配置数据库的地址一定要指定ip地址
查看数据库地址
docker network ls
docker inspect 默认网络

  1. 进入到Dockerfile 文件目录
    docker build -t blogadmin .
    mac 版本 需要指定–platform linux/amd64
    #启动命令
    2.docker run --platform linux/amd64 -d --name admin -p 8989:8989 blogadmin:latest
### 部署 Spring Boot 应用程序到 Mac 的方法 要在 Mac部署 Spring Boot 项目,可以采用多种方式实现。以下是通过 Docker 和本地运行两种常见的方式。 #### 使用 Docker 运行 Spring Boot 应用 为了在 Mac使用 Docker 来运行 Spring Boot 应用,需按照以下说明操作: 1. **安装 Docker Desktop** 确保已在 Mac 设备上安装并启动 Docker Desktop[^4]。如果尚未安装,请访问 [Docker官网](https://www.docker.com/products/docker-desktop) 下载适合 macOS 的版本。 2. **构建 Docker 镜像** 创建 `Dockerfile` 并放置于项目的根目录下。文件内容如下所示: ```dockerfile FROM openjdk:17-jdk-slim WORKDIR /app COPY target/your-application-name.jar app.jar ENTRYPOINT ["java", "-jar", "/app/app.jar"] ``` 替换 `your-application-name.jar` 为实际生成的 JAR 文件名。 3. **创建镜像** 执行命令来构建 Docker 镜像: ```bash docker build -t springboot/demo . ``` 4. **运行容器** 启动容器并将端口映射至主机上的指定端口(默认情况下为 8080): ```bash docker run -p 8080:8080 -t springboot/demo ``` 此时可以通过浏览器访问 `http://localhost:8080` 测试应用是否正常工作。 #### 在本地环境中直接运行 Spring Boot 应用 除了利用 Docker 外,还可以直接在本地环境中运行 Spring Boot 应用: 1. **编译和打包项目** 借助 Maven 或 Gradle 构建工具完成项目的编译与打包过程。对于基于 Maven 的项目而言,执行以下指令即可生成可执行 JAR 文件: ```bash mvn clean package ``` 2. **运行应用程序** 寻找目标路径下的 `.jar` 文件,并通过 Java 命令启动它: ```bash java -jar target/your-application-name.jar ``` 更改上述命令中的 `your-application-name.jar` 成对应的实际名称。 3. **验证服务状态** 当终端显示类似 “Tomcat started on port(s): 8080 (http)” 字样时,则表明服务器已经成功启动。此时打开网页浏览器输入地址栏 `http://localhost:8080` 即能看到效果。 #### 开发阶段优化——启用热部署功能 当处于频繁修改代码的状态期间,推荐开启热部署机制以提高效率。具体做法是在项目的配置文件里引入特定依赖项: 如果是 Maven 工程的话,编辑 `pom.xml` 添加下面片段: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> ``` 这样设置之后每当保存更改过的源码后无需重新手动重启整个工程就能立即看到更新后的界面表现[^2]。 --- ### 总结 以上分别介绍了借助 Docker 技术以及单纯依靠宿主机本身资源这两种途径来进行 Spring Boot 应用部署的方法论;同时也提及到了针对开发者友好型需求所提出的即时反馈解决方案即所谓的“热加载”。希望这些信息能够帮助您顺利完成任务!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值