Fork me on GitHub

Docker Compose

Docker Compose

安装Docker Compose

#下载,前提是已经安装了docker
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#赋予权限
sudo chmod +x /usr/local/bin/docker-compose

Docker Compose 快速入门:多容器管理的正确姿势

在使用 Docker 构建开发环境时,可能会遇到这样的场景:

  • Web 服务需要 Nginx、PHP、MySQL 多个容器协作
  • 每次重启都要重新敲 docker run
  • 服务之间怎么通信?怎么挂载目录?怎么保留数据?
    答案:Docker Compose

什么是 Docker Compose?

Docker Compose 是一个用于 定义和运行多容器 Docker 应用 的工具。
通过一个 docker-compose.yml 文件,你可以一次性定义多个服务,并用一条命令统一启动、停止、重启整个项目。

docker-compose up -d      # 启动服务
docker-compose down       # 停止并移除容器
docker-compose ps         # 查看运行状态
docker-compose logs       # 查看日志
docker-compose restart xx # 重启单个服务

为什么要用 Compose?

问题 用 Compose 的好处
多个服务启动顺序混乱 depends_on 自动处理依赖
命令太多太长 一行命令:docker-compose up -d
手动配置端口、卷、变量很麻烦 YAML 一次定义,配置一劳永逸
团队环境不一致 把 Compose 文件提交 Git,统一环境
部署流程不清晰 文件即文档,结构清晰,可读可维护

LNMP 环境(Nginx + PHP + MySQL)

一个简单的 docker-compose.yml

version: '3.8'

services:
  nginx:
    image: nginx:stable
    ports:
      - "8080:80"
    volumes:
      - ./www:/var/www/html
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - php

  php:
    image: php:8.2-fpm
    volumes:
      - ./www:/var/www/html

  mysql:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
posted @ 2025-04-18 10:41  秋夜雨巷  阅读(20)  评论(0)    收藏  举报