Docker-Compose安装
下载
https://github.com/docker/compose/releases
安装
将文件上传到 /usr/local/src路径下
# 赋予可执行权限
chmod +x /usr/local/src/docker-compose
# 查看版本
[root@localhost ~]# docker-compose -v
Docker Compose version v2.24.0-birthday.10
配置文件参数
version: '3.8' # 推荐使用 3.x 版本,支持大部分新特性
services:
# 服务名(自定义,如 web、db)
web:
image: nginx:alpine # 使用的镜像
build: ./app # 若需构建镜像,指定 Dockerfile 所在目录
container_name: my-web # 容器名称(默认:项目名_服务名_序号)
restart: always # 重启策略(always/on-failure/no)
ports: # 端口映射(宿主机:容器)
- "8080:80"
- "443:443"
volumes: # 数据卷挂载
- ./html:/usr/share/nginx/html # 宿主机目录:容器目录
- nginx-conf:/etc/nginx/conf.d # 命名卷:容器目录
environment: # 环境变量(键值对或列表形式)
- TZ=Asia/Shanghai
- DB_HOST=db
env_file: # 从文件加载环境变量
- ./.env
depends_on: # 依赖服务(启动顺序:先启动 db,再启动 web)
- db
networks: # 加入的网络
- app-network
command: nginx -g 'daemon off;' # 覆盖容器默认启动命令
healthcheck: # 健康检查
test: ["CMD", "curl", "-f", "http://localhost"]
interval: 30s
timeout: 10s
retries: 3
deploy: # 资源限制配置
resources:
limits: # 硬限制 - 容器不能超过此值
cpus: '0.5' # 最多使用 0.5 个 CPU 核心
memory: 512M # 最多使用 512MB 内存
# 软限制 - 容器尽量使用不超过此值的资源
reservations:
cpus: '0.2' # 保证至少 0.2 个 CPU 核心
memory: 256M # 保证至少 256MB 内存
networks:
app-network: # 网络名称
driver: bridge # 网络驱动(默认 bridge,可选 overlay 等)
ipam: # IP 地址管理(可选)
config:
- subnet: 172.20.0.0/16 # 子网
- gateway: 172.20.0.1 # 网关
volumes:
nginx-conf: # 命名卷名称(可被多个服务挂载)
driver: local # 卷驱动(默认 local,可选 nfs 等)
driver_opts: # 驱动选项(如指定存储路径)
type: 'none'
device: '/opt/nginx/conf'
o: 'bind'