📜 基础命令大全
命令 说明 示例
docker-compose up 启动项目 docker-compose up -d(后台启动)
docker-compose down 停止并删除容器、网络、卷 docker-compose down
docker-compose ps 查看当前项目的容器状态 docker-compose ps
docker-compose logs 查看所有容器日志 docker-compose logs -f(实时日志)
docker-compose exec 进入容器执行命令 docker-compose exec 服务名 /bin/sh
docker-compose build 重新构建镜像 docker-compose build
docker-compose restart 重启项目中的所有容器 docker-compose restart
docker-compose config 检查配置文件格式 docker-compose config
docker-compose pull 拉取yml里定义的镜像 docker-compose pull
⚙️ 常见组合用法
一次启动并查看日志:
docker-compose up
后台启动:
docker-compose up -d
强制重建容器:
docker-compose up -d --build
只重启单个服务:
docker-compose restart nginx
查看某个服务日志:
docker-compose logs -f nginx
📑 典型的docker-compose.yml模板
version: '3'
services:
nginx:
image: nginx:latest
container_name: my_nginx
ports:
- "8080:80"
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
networks:
- my_network
php:
image: php:7.4-fpm
container_name: my_php
volumes:
- ./www:/var/www/html
networks:
- my_network
mysql:
image: mysql:5.7
container_name: my_mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: testdb
ports:
- "3306:3306"
volumes:
- ./data/mysql:/var/lib/mysql
networks:
- my_network
networks:
my_network:
driver: bridge
📁 目录结构参考
project_root/
├── docker-compose.yml
├── nginx/
│ └── conf.d/
│ └── default.conf
├── www/
│ └── index.php
└── data/
└── mysql/
📂 Volumes 和 Networks
volumes:宿主机和容器的文件同步
networks:多个容器互联,形成内部网络
📋 volumes定义样例
volumes:
mysql_data:
driver: local
🔗 networks定义样例
networks:
my_network:
driver: bridge
💡 小技巧
配置depends_on来控制启动顺序:
services:
php:
depends_on:
- mysql
可以加healthcheck检测服务健康:
mysql:
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 3
💣 一键清理所有Compose容器+网络+卷:
docker-compose down -v
🚀 日常开发最常用组合:
docker-compose up -d
docker-compose logs -f
docker-compose exec php /bin/bash
docker-compose restart
docker-compose down -v
🎁 Bonus:一键启动+实时日志+进入容器3件套
docker-compose up -d && docker-compose logs -f
docker-compose exec php /bin/bash










网友评论