Docker Compose 开发环境常见问题解决方案
项目基础介绍
docker-compose-development 是一个用于本地开发的 Docker Compose 项目,旨在快速启动一个包含 Nginx、PHP、Blackfire、Percona、Mailhog 和 Redis 的开发环境。该项目特别适用于 Magento2 开发者,提供了开箱即用的 Magento2 开发环境支持。
主要的编程语言是 PHP,因为该项目主要用于 PHP 应用的开发环境搭建。
新手使用注意事项及解决方案
1. Docker 和 Docker Compose 安装问题
问题描述:新手在安装 Docker 和 Docker Compose 时可能会遇到依赖问题或权限问题,导致无法正常启动 Docker 服务。
解决步骤:
-
移除旧版本 Docker:
sudo apt-get remove docker docker-engine docker.io containerd runc -
更新包管理器并安装依赖:
sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release -
添加 Docker 官方 GPG 密钥:
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg -
设置 Docker 仓库:
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null -
安装 Docker 和 Docker Compose:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -
添加用户到 Docker 组并重启:
sudo usermod -aG docker $USER reboot
2. 项目克隆和初始化问题
问题描述:新手在克隆项目并运行初始化脚本时,可能会遇到权限问题或脚本执行失败的情况。
解决步骤:
-
克隆项目:
git clone -b development-docker-compose-2 https://github.com/JeroenBoersma/docker-compose-development.git development -
进入项目目录并运行初始化脚本:
cd development bin/dev setup -
按照提示完成初始化:
- 按
Enter键几次,阅读并确认提示信息。 - 选择默认的 PHP 版本(如
php81)。 - 根据需要配置其他服务(如 Elasticsearch、RabbitMQ 等)。
- 按
-
将
dev命令添加到用户配置文件:bin/dev profile >> ~/.zshrc # 或 ~/.bashrc 如果使用 bash -
重新加载配置文件:
source ~/.zshrc # 或 source ~/.bashrc
3. MySQL 数据持久化问题
问题描述:新手在使用过程中可能会遇到 MySQL 数据丢失的问题,尤其是在重新启动 Docker 容器时。
解决步骤:
-
停止并移除所有容器:
cd development bin/dev down --remove-orphans -
删除现有的 MySQL 数据卷:
bin/dev volume rm workspace -
创建新的数据卷并将工作目录移动到主目录:
mkdir workspace bin/dev volume workspace workspace cdw -
切换 PHP 版本并启动服务:
bin/dev php-change php81 bin/dev up
通过以上步骤,新手可以顺利解决在使用 docker-compose-development 项目时可能遇到的常见问题。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



