Laravel docker组合:致命错误:require():打开失败



当我试图将我的laravel项目固定化时,我遇到了一个问题。我使用了一个docker-compose.yaml文件,这里是它的样子:

version: '3.8'
services:
main:
build:
context: .
dockerfile: Dockerfile
command: 'php artisan migrate && php artisan serve --host=0.0.0.0'
volumes:
- .:/app
ports:
- 8000:8000

Dockerfile包含:

FROM php:7.4-apache
RUN docker-php-ext-install pdo pdo_mysql sockets
RUN curl -sS https://getcomposer.org/installer​ | php -- 
--install-dir=/usr/local/bin --filename=composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
WORKDIR /
COPY . .
RUN composer install
RUN composer update

这是我的composer.json:

{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
"php": "^7.3|^8.0",
"fruitcake/laravel-cors": "^2.0",
"guzzlehttp/guzzle": "^7.4",
"laravel/framework": "^8.75",
"laravel/sanctum": "^2.11",
"laravel/tinker": "^2.5"
},
"require-dev": {
"facade/ignition": "^2.5",
"fakerphp/faker": "^1.9.1",
"laravel/sail": "^1.0.1",
"mockery/mockery": "^1.4.4",
"nunomaduro/collision": "^5.10",
"phpunit/phpunit": "^9.5.10"
},
"autoload": {
"psr-4": {
"App\": "app/",
"Database\Factories\": "database/factories/",
"Database\Seeders\": "database/seeders/"
},
"files":[
"app/helpers.php"
]
},
"autoload-dev": {
"psr-4": {
"Tests\": "tests/"
}
},
"scripts": {
"post-autoload-dump": [
"Illuminate\Foundation\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-update-cmd": [
"@php artisan vendor:publish --tag=laravel-assets --ansi --force"
],
"post-root-package-install": [
"@php -r "file_exists('.env') || copy('.env.example', '.env');""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
},
"extra": {
"laravel": {
"dont-discover": []
}
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true
},
"minimum-stability": "dev",
"prefer-stable": true
}

我是码头工人的大三学生,当我运行docker-compose up时,我得到的是:

Docker错误

p.S当我在没有docker的情况下本地运行服务器时,helpers.php文件可以正常工作。

提前谢谢。

在docker文件中,您将所有文件放入docker/app

volumes:
- .:/app

并且您没有将目录更改为/app,而是更改为

WORKDIR /
COPY . .

你能试着把你的WORKDIR改成/app吗

WORKDIR /app
COPY . .

相关内容

最新更新