本地开发最烦的就是环境不一致。用一份 docker-compose.yml 把依赖服务都声明出来,一条命令就能拉起整套环境。

目录结构

先约定一个简单的项目结构:应用代码放在 app/,编排文件放根目录。

compose 文件

services:
  web:
    build: ./app
    ports:
      - "8080:8080"
    depends_on:
      - db
      - cache
  db:
    image: mysql:8
    environment:
      MYSQL_ROOT_PASSWORD: example
    volumes:
      - dbdata:/var/lib/mysql
  cache:
    image: redis:7
volumes:
  dbdata:

常见坑

<