docker-compose 编写实战

version: "3"
services:
servicename: # 服务名称 同主机唯一
image: harbor.com/test/servicename:version # 镜像
container_name: servicename # 容器名称
hostname: servicename # 容器主机名称
#ports:
# - "80:80" # 端口映射,注意:使用host网络模式不能设置端口,默认使用服务端口启动
volumes: # 挂在主机文件近容器
- "/home/app_logs:/root/logs"
- "/etc/localtime:/etc/localtime"
restart: on-failure # 容器自动重启策略
network_mode: "host" # 设置网络模式
logging: # 设置容器日志
driver: "json-file"
options:
tag: servicename
cap_add:
- ALL
environment: # 设置环境变量
jvm_opts: "-Xms1g -Xmx1g -XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0 -Drocketmq.client.name=service_IP"
sky_agent_id: "-Dskywalking.agent.instance_name=service_IP"
deploy: # 容器资源限制
resources:
limits:
cpus: 8 # cpu核数限制
memory: 2g # 容器占用主机内存限制,注意:设置参数-XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0,否则堆外内存将大量使用主机内存 70.0为70%比例,可根据应用实际情况降低比例
reservations: # 设置为容器预留的系统资源(随时可用)
cpus: 0.5
memory: 1g
healthcheck: # 设置容器健康检查
test: ["CMD-SHELL", "curl -f http://localhost:80/actuator/health || exit 1"] #健康检查接口,springboot自带,开启该接口即可,注意安全控制
interval: "60s"
timeout: "3s"
start_period: "5s"
retries: 3
posted @   蒲公英PGY  阅读(163)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示