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内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论