laravel - 如何在 Docker 上设置 Laravel 以进行本地开发?
问题描述
过去几天我一直在尝试在启用 WSL2 的机器上为 Docker 设置 Laravael。在挖掘了各种臃肿的堆栈之后 - 我尝试为本地开发构建自己的堆栈。我的问题是我不能将未编译的 Laravel 文件夹挂载到容器中,也不能通过 composer 安装依赖项。以下是我当前的文件集。我无法访问默认应用程序,因为autoload.php
尚未由作曲家创建。如果我通过 dockerfile 将文件复制到容器中,然后继续运行 composer 依赖项,我最终会得到一个静态应用程序,它不会反映我在 VSCode 中所做的更改。
澄清一下,我的目标只是能够编辑我的 Laravel 应用程序,而无需每次都重新构建图像。
dockerfile
FROM php:7.4.14-apache
RUN apt-get update -y && apt-get install -y zip unzip
# Install Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# Install Laravel
# VOLUME ./laravel /var/www/html
# WORKDIR /var/www/html
# RUN composer install
码头工人-compose.yml
version: '3'
services:
web:
build:
context: .
dockerfile: dockerfile.httpd
ports:
- '80:80'
volumes:
- './laravel/public:/var/www/html'
db:
image: mariadb
restart: always
environment:
- MYSQL_ROOT_PASSWORD=my_secure_pwd
- MARIADB_USER=mydbuser
- MARIADB_DATABASE=laravel
- MARIADB_PASSWORD=mydbuserpwd
解决方案
推荐阅读
- laravel-5.2 - 如何从 Laravel Illuminate\Support\Collection 获取财产?
- c++ - 如何使用 c++ 中的 boost 日志库同时写入两个不同的文件?
- c# - 在 Visual Studio 2019 中安装 Caliburn.Micro 插件
- powershell - 无法使用 csv 中的 set-mailcontact cmd 添加 sip 地址
- c# - 当用户是管理员时,为什么 .NET 应用程序不能覆盖文件?
- python - 按位置删除文本 tkinter
- javascript - 如何在下拉列表中添加搜索输入字段?
- python-3.x - 关于groupby的使用
- azure-devops - 我可以在 Azure DevOps 中将我的 Visual Studio Enterprise 许可证用于多个 AAD 帐户吗?
- python - 如何使用 bash 或 Python 将具有多个单页 PDF(蓝图)的文件夹转换为 PNG?