docker编写java的jar完整步骤记录
all-docker/
├── docker-compose.yml
├── a/
│ ├── Dockerfile
│ └── a.jar
└── b/
├── Dockerfile
└── b.jar
生成Docker打包部署文件
项目结构说明
项目根目录包含docker-compose.yml和两个子目录a/、b/,分别存放服务A和服务B的代码及Docker配置。目标是通过Docker Compose统一构建和部署这两个服务。
配置服务A的Dockerfile (a/Dockerfile)
# 使用官方Java基础镜像 FROM openjdk:17-jdk-slim # 复制JAR文件到容器 COPY a.jar /app/a.jar # 指定启动命令 ENTRYPOINT ["java", "-jar", "/app/a.jar"]
配置服务B的Dockerfile (b/Dockerfile)
# 使用官方Java基础镜像 FROM openjdk:17-jdk-slim # 复制JAR文件到容器 COPY b.jar /app/b.jar # 指定启动命令 ENTRYPOINT ["java", "-jar", "/app/b.jar"]
编写docker-compose.yml
version: '3.8'
services:
service-a:
build: ./a # 指向服务A的Dockerfile目录
container_name: service-a
ports:
- "8080:8080" # 假设服务A暴露8080端口
restart: unless-stopped
service-b:
build: ./b # 指向服务B的Dockerfile目录
container_name: service-b
ports:
- "8081:8081" # 假设服务B暴露8081端口
restart: unless-stopped
操作步骤
构建镜像
在项目根目录执行以下命令,构建所有服务的Docker镜像:docker-compose build
启动服务
启动所有容器并运行服务:docker-compose up -d
验证服务
检查容器状态:docker-compose ps
访问服务A的接口(如
http://localhost:8080)和服务B的接口(如http://localhost:8081)。
注意事项
端口冲突
确保docker-compose.yml中定义的端口与本地或其他服务无冲突。环境变量
如需动态配置,可在docker-compose.yml中添加environment字段:service-a: environment: - SPRING_PROFILES_ACTIVE=prod日志查看
调试时可通过以下命令查看实时日志:docker-compose logs -f service-a
生成Docker打包部署文件
项目结构说明
项目根目录包含docker-compose.yml和两个子目录a/、b/,分别存放服务A和服务B的代码及Docker配置。目标是通过Docker Compose统一构建和部署这两个服务。
配置服务A的Dockerfile (a/Dockerfile)
# 使用官方Java基础镜像 FROM openjdk:17-jdk-slim # 复制JAR文件到容器 COPY a.jar /app/a.jar # 指定启动命令 ENTRYPOINT ["java", "-jar", "/app/a.jar"]
配置服务B的Dockerfile (b/Dockerfile)
# 使用官方Java基础镜像 FROM openjdk:17-jdk-slim # 复制JAR文件到容器 COPY b.jar /app/b.jar # 指定启动命令 ENTRYPOINT ["java", "-jar", "/app/b.jar"]
编写docker-compose.yml
version: '3.8'
services:
service-a:
build: ./a # 指向服务A的Dockerfile目录
container_name: service-a
ports:
- "8080:8080" # 假设服务A暴露8080端口
restart: unless-stopped
service-b:
build: ./b # 指向服务B的Dockerfile目录
container_name: service-b
ports:
- "8081:8081" # 假设服务B暴露8081端口
restart: unless-stopped
操作步骤
构建镜像
在项目根目录执行以下命令,构建所有服务的Docker镜像:docker-compose build
启动服务
启动所有容器并运行服务:docker-compose up -d
验证服务
检查容器状态:docker-compose ps
访问服务A的接口(如
http://localhost:8080)和服务B的接口(如http://localhost:8081)。
注意事项
端口冲突
确保docker-compose.yml中定义的端口与本地或其他服务无冲突。环境变量
如需动态配置,可在docker-compose.yml中添加environment字段:service-a: environment: - SPRING_PROFILES_ACTIVE=prod日志查看
调试时可通过以下命令查看实时日志:docker-compose logs -f service-a
总结
到此这篇关于docker编写java的jar的文章就介绍到这了,更多相关docker编写java的jar内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java 8中读取文件内容 Files.lines()方法使用示例
这篇文章主要介绍了Java 8中读取文件内容Files.lines()方法如何使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-07-07
Spring中的@ConfigurationProperties详解
这篇文章主要介绍了Spring中的@ConfigurationProperties详解,ConfigurationProperties注解主要用于将外部配置文件配置的属性填充到这个Spring Bean实例中,需要的朋友可以参考下2023-09-09
反射机制:getDeclaredField和getField的区别说明
这篇文章主要介绍了反射机制:getDeclaredField和getField的区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-06-06
SpringBoot前后端分离项目之打包、部署到服务器详细图文流程
作为后台开发,项目打包部署是经常性的操作,下面这篇文章主要给大家介绍了关于SpringBoot前后端分离项目之打包、部署到服务器的相关资料,文中通过代码示例介绍的非常详细,需要的朋友可以参考下2023-12-12


最新评论