Files
nexus/wiki/concepts/Docker-Compose.md

2.1 KiB
Raw Blame History

Docker Compose

Description

Docker Compose 是 Docker 官方提供的多容器 Docker 应用定义和运行工具。通过 docker-compose.yml(或 compose.yaml)配置文件,使用 YAML 格式声明式定义多容器服务的网络、卷、端口映射、环境变量等,实现一键部署复杂应用。

Version

  • V1 (独立包)docker-compose 命令(已弃用)
  • V2 (插件)docker compose 命令(当前主流),通过 docker-compose-plugin 包安装,集成到 Docker CLI

V1 vs V2 Command Reference

V1 (独立包) V2 (插件)
docker-compose up -d docker compose up -d
docker-compose ps docker compose ps
docker-compose down docker compose down
docker-compose -f xxx.yml config docker compose -f xxx.yml config

Core Concepts

  • Services: 定义每个容器服务(镜像、构建、端口、卷、环境变量)
  • Volumes: 命名数据卷,持久化容器数据
  • Networks: 容器网络配置bridge、host、overlay
  • Version: version: '3.8' 为当前主流版本规范

Example

version: '3.8'
services:
  it-tools:
    image: corentinth/it-tools:latest
    container_name: it-tools
    restart: unless-stopped
    stdin_open: true
    tty: true
    ports:
      - "8999:80"
    deploy:
      resources:
        limits:
          memory: 128M

Used By

External Mode

Compose 文件中声明 external: true 可让 Docker 复用已存在的 Volume 或 Network 而非创建新的,避免重装时的命名冲突警告:

volumes:
  portainer_data:
    external: true

networks:
  portainer_network:
    external: true