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
如果这篇文章对你有用,可以关注本人微信公众号获取更多ヽ(^ω^)ノ ~
