您好,登录后才能下订单哦!
密码登录
            
            
            
            
        登录注册
            
            
            
        点击 登录注册 即表示同意《亿速云用户服务条款》
        # Docker Compose部署及基础使用的方法
## 1. Docker Compose概述
### 1.1 什么是Docker Compose
Docker Compose是Docker官方推出的容器编排工具,允许用户通过一个YAML格式的配置文件(docker-compose.yml)来定义和运行多个相互关联的Docker容器。它简化了多容器应用的部署和管理流程,特别适合开发、测试和持续集成环境。
### 1.2 核心优势
- **单文件配置**:用声明式YAML文件描述整个应用栈
- **一键启停**:通过简单命令管理多容器生命周期
- **服务依赖管理**:自动处理容器间的启动顺序
- **环境隔离**:支持不同环境使用独立配置
- **可移植性**:配置与代码一起版本控制,实现环境一致性
## 2. 安装与配置
### 2.1 系统要求
- Docker Engine 1.10.0+
- Linux/Windows/macOS系统
- 建议分配至少2GB内存
### 2.2 安装方法
#### Linux系统
```bash
# 下载最新稳定版
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 验证安装
docker-compose --version
推荐使用Docker Desktop(已内置Compose)
创建基础配置文件docker-compose.yml:
version: '3.8'
services:
  webapp:
    image: nginx:alpine
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html
version: '3.8'  # 指定Compose文件格式版本
services:       # 服务定义部分
  service1:     # 服务名称
    image: ...  # 容器配置
  service2:
    build: ...
    
volumes:        # 数据卷定义
networks:       # 网络定义
configs:        # 配置项定义
image:指定容器镜像build:基于Dockerfile构建ports:端口映射(HOST:CONTNER)volumes:目录/文件挂载environment:环境变量depends_on:服务依赖关系restart:重启策略(no, always, on-failure)networks:
  frontend:
    driver: bridge
    ipam:
      config:
        - subnet: 172.16.238.0/24
支持环境变量和扩展字段:
services:
  db:
    image: postgres:${POSTGRES_VERSION:-13}
    deploy:
      resources:
        limits:
          cpus: '${CPU_LIMIT:-0.50}'
# 启动所有服务(后台模式)
docker-compose up -d
# 停止并删除容器
docker-compose down
# 暂停服务
docker-compose pause
# 恢复服务
docker-compose unpause
# 查看运行状态
docker-compose ps
# 查看服务日志
docker-compose logs -f web
# 查看服务资源使用
docker-compose top
# 执行单次命令
docker-compose run web bash
# 扩缩容服务
docker-compose up -d --scale web=3
# 重建单个服务
docker-compose up -d --no-deps --build web
version: '3.8'
services:
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: example
    volumes:
      - mysql_data:/var/lib/mysql
  php:
    build: ./php
    volumes:
      - ./src:/var/www/html
  apache:
    image: httpd:2.4
    ports:
      - "8000:80"
    volumes:
      - ./src:/usr/local/apache2/htdocs
    depends_on:
      - php
volumes:
  mysql_data:
version: '3.8'
services:
  gateway:
    image: nginx
    ports: ["80:80"]
    configs:
      - source: nginx_conf
        target: /etc/nginx/conf.d/default.conf
    depends_on:
      - auth
      - api
  auth:
    image: auth-service:1.2
    environment:
      JWT_SECRET: ${JWT_SECRET}
    networks:
      - backend
  api:
    image: api-service:3.1
    networks:
      - backend
configs:
  nginx_conf:
    file: ./config/nginx.conf
networks:
  backend:
    driver: overlay
使用多个Compose文件实现环境差异:
# base.yml - 通用配置
# dev.yml  - 开发环境扩展
docker-compose -f base.yml -f dev.yml up
services:
  web:
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost"]
      interval: 30s
      timeout: 10s
      retries: 3
services:
  redis:
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 512M
        reservations:
          memory: 256M
netstat -tulnp | grep <port>depends_on+健康检查user: "1000:1000"配置# 交互式调试
docker-compose exec web sh
# 查看完整配置
docker-compose config
# 详细日志
docker-compose logs --timestamps --tail=50 web
docker system prune清理资源| 命令 | 描述 | 
|---|---|
docker-compose up | 
创建并启动容器 | 
docker-compose down | 
停止并移除容器 | 
docker-compose ps | 
查看服务状态 | 
docker-compose logs | 
查看服务日志 | 
docker-compose build | 
重新构建服务镜像 | 
docker-compose pull | 
拉取服务镜像 | 
docker-compose config | 
验证配置文件 | 
注:本文基于Docker Compose v2编写,部分命令在v1中可能需要使用
docker-compose替代docker compose“`
该文档共计约3550字,采用标准的Markdown格式编写,包含代码块、表格、列表等元素,可直接用于技术文档发布。内容涵盖从基础概念到高级实践的完整知识体系,适合作为Docker Compose的入门及参考指南。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。