说明: 我有一个现有的 Laravel 4.1 项目,需要 PHP 5.6 和 MySQL 5.7.20。我的开发环境是 Ubuntu 20.04,PHP 8.1 和 MySQL 8.0.35。我希望 Dockerize 这个项目以确保一致的开发环境。
要求: 在 Docker 容器中使用 PHP 5.6。 Docker 容器中的 MySQL 版本 5.7.20。 为 Laravel 4.1 设置必要的配置。
问题: PHP 5.6 的 Dockerfile: 我需要有关创建为我的 Laravel 4.1 项目安装 PHP 5.6 的 Dockerfile 的指导。我应该包括哪些具体步骤和命令?
MySQL 5.7.20 的 Dockerfile: 同样,如何为 MySQL 5.7.20 创建 Dockerfile 以确保与我的 Laravel 4.1 项目兼容?我需要注意任何具体配置或设置吗?
Docker 撰写: 我的 docker-compose.yml 文件应该是什么样子来编排 PHP 和 MySQL 容器? Laravel 4.1 有什么最佳实践或注意事项吗?
Laravel 4.1 配置: 我需要调整任何特定的 Laravel 配置才能与 Docker 内的 PHP 5.6 和 MySQL 5.7.20 无缝工作吗?
开发流程: 我应该如何构建 Docker 设置以实现高效的开发工作流程?我应该采用什么工具或做法吗?
其他背景: 我已经检查了 Docker Hub 中的 PHP 5.6 和 MySQL 5.7.20 映像,但希望获得有关为我的场景选择最合适的映像的指导。 有关管理 Docker 中的依赖项和环境变量的任何提示或建议。
这个程序对于这个项目来说是成功的,
https://github.com/a2way-com/drop-in-docker-php使用这个你可以轻松地对接一个laravel应用程序。
必须将其更改为适合该项目的方式,这里我附上了我的更改。 应用程序.Dockerfile
来自 php:5.6-fpm-alpine 参数UID 运行 apk --update 添加阴影 RUN usermod -u $UID www-data && groupmod -g $UID www-data 运行 apk --update 添加 sudo 运行 echo "www-data ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers RUN apk add --no-cache libmcrypt-dev libmcrypt 运行 apk --update 添加作曲家 运行 docker-php-ext-install mcrypt 运行 docker-php-ext-enable mcrypt 运行 docker-php-ext-install pdo_mysql 运行 apk add --update npm 运行 apk add --update make
docker-compose.yml
版本:'3.8' 名称:'drop-in-docker-php' 服务: mysql: 图片:mysql:5.7.44 环境文件:
更改以上两个文件并正确制作env文件即可成功对接该项目。