Compose模板配置 YAML格式
docker-compose.yml
# 指定版本,固定即可
version: '3'
services:
nginx:
image: nginx:latest
# 端口映射
ports:
- "80:80"
# 依赖关系 先跑php
depends_on:
- "php"
# 数据卷
volumes:
# 映射主机config目录到容器/etc/nginx/conf.d目录
- "$PWD/services/nginx/config:/etc/nginx/conf.d"
- "$PWD/app:/usr/share/nginx/html"
networks:
- app_net
# 容器名称
container_name: "compose-nginx"
php:
build: ./services/php
# image指定build Dockerfile生成镜像的名称
image: php:7.2-fpm-pdo
ports:
- "9000:9000"
volumes:
- "$PWD/app:/var/www/html"
networks:
- app_net
container_name: "compose-php"
mysql:
image: mysql:5.7
ports:
- "3306:3306"
volumes:
- "$PWD/services/mysql/data:/var/lib/mysql"
# 环境变量
environment:
MYSQL_ROOT_PASSWORD: "123456"
# 允许运行特权命令
privileged: true
networks:
app_net:
# 固定子网ip,网段必须在子网络10.10.*.*
ipv4_address: 10.10.10.1
container_name: "compose-mysql"
networks:
# 配置docker network
app_net:
driver: bridge
ipam:
config:
# 子网络
- subnet: 10.10.0.0/16
命令列表
运行 compose 项目
docker-compose up
构建服务
docker-compose build
停止项目并移除网络
docker-compose down
验证Compose文件格式
docker-compose config
若配置正确,则显示配置;若配置错误,则显示错误原因。
列出包含的镜像
docker-compose images
进入指定的容器
docker-compose exec