Windows11下Docker Compose启动报错:找不到Dockerfile
问题解决步骤
一、修复PHP-Apache服务的Dockerfile缺失问题
第一个报错的核心是php-apache-environment服务指定了build: ./php,但该目录下没有Dockerfile,导致构建失败。解决方法:
- 在项目根目录下创建名为
php的文件夹 - 进入
php文件夹,新建Dockerfile文件,示例内容(可根据需求调整):
# 基于官方PHP-Apache镜像 FROM php:8.2-apache # 安装常用PHP扩展(按需添加) RUN docker-php-ext-install mysqli pdo_mysql # 启用Apache重写模块(可选) RUN a2enmod rewrite
- 确保
php/src目录存在(对应volumes挂载路径),可放入你的PHP项目文件
二、修正phpMyAdmin的配置错误
给phpMyAdmin添加dockerfile属性导致报错,是因为phpMyAdmin使用image拉取现成镜像,不需要构建,不能添加build相关配置项。同时注意环境变量拼写错误:
- 将
PMZ_PASSWORD改为PMA_PASSWORD,否则phpMyAdmin无法正确连接数据库 - 移除所有给phpMyAdmin添加的
dockerfile或build相关配置
修正后的phpMyAdmin服务配置:
phpmyadmin: image: phpmyadmin/phpmyadmin restart: always environment: PMA_HOST: db PMA_PORT: 3306 # 容器间通信使用MySQL内部端口,而非宿主机映射的9906 PMA_USER: test PMA_PASSWORD: 9yI2G0s-sZf37SS5Ml1Kj ports: - '8080:80' depends_on: - db
三、重新启动服务
完成上述修改后,在项目根目录下重新执行:
docker compose up --detach
内容的提问来源于stack exchange,提问作者theking2
相关产品推荐
相关产品推荐

