0 字
0 分钟
Docker-compose常用参数解释
docker-compose最大的优势还是多容器统一管理,以及构成一种脚本化一键部署容器的方式。
个人建议environment填写变量,另起一个.env文件填写参数。
掌握以下这些参数基本足够日常使用,之后会分享一些优质项目的compose文件。
# 项目名称
# 取值优先级:命令参数 > name值 > compose文件所在文件夹名称
name:XXX
# compose版本号
# 早期V2版本前,该字段用于声明compose文件的语法版本,2020年后新版本废弃
# version:"3"
services:
# 服务名称
XXX:
# 指定依赖服务
# depends_on:
# XXX2启动后才会启动XXX,注意,XXX不会等待XXX2完全启动
# - XXX2
# 容器名称
# 不填写会自动生成,建议填写为“项目_服务_编号”这种形式,方便多容器管理
container_name:XXX
# 镜像地址
# 不填写会自动拉取最新版,建议填写具体版本号,防止镜像更新导致不兼容
image:XXX:1.2-alpine
# 网络模式
# host:使用宿主机网络,此时ports配置无效;bridge:桥接网络
network_mode:host,bridge,none
# 重启策略
# always:始终尝试重启;unless-stopped:仅手动停止不重启
restart:always,unless-stopped,no
# 最大cpu线程占用
# 一般容器填写1完全够用
cpus:1
# 最大内存占用
# 根据宿主机内存合理分配,防止容器异常占用资源导致宿主机宕机
mem_limit:512M
# 日志限制
logging:
options:
# 日志文件大小限制
max-size:"16m"
# 日志文件数量限制
max-file:"3"
# 环境变量
environment:
# 根据项目部署文档获取变量名称
# 下面为时区设置,北京时间
TZ:Asia/Shanghai
TIME_ZONE:Asia/Shanghai
# 端口映射
ports:
# 宿主机端口:容器内部端口
# 报错出现bind字样一般为宿主机端口被占用
-12345:12345
# 端口开放,便于同一网络的其他容器访问
expose:
- "11111"
- "54321"
# 文件映射
volumes:
# 宿主机文件路径:容器内部文件路径
# 将容器内部数据持久化,防止重启、重建后数据丢失
# ./表示当前目录,即docker-compose文件所在目录
-./data:/var/lib/XXX/data本站未注明转载的文章均为原创,并采用
CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!