【问题标题】:Could not open input file: artisan in Docker command无法打开输入文件:Docker 命令中的工匠
【发布时间】:2019-11-18 02:38:39
【问题描述】:

当我尝试运行 php artisan serve 时,我正在尝试使用后端 Docker 文件中的 Vue.js 为我的 Laravel rest Api 创建 Docker 文件,但出现以下错误。

无法打开输入文件:artisan 命令“php artisan serve”返回一个非零代码:1

FROM php:7.2.19-fpm

RUN mkdir ./my-project/

WORKDIR /my-project
COPY . ./my-project/

RUN apt-get update

RUN cd my-project

FROM composer:1.7 as vendor

COPY database/ database/

COPY composer.json composer.json
COPY composer.lock composer.lock

RUN composer install \
    --ignore-platform-reqs \
    --no-interaction \
    --no-plugins \
    --no-scripts \
    --prefer-dist


RUN ["php", "artisan", "serve"]

EXPOSE 8000

【问题讨论】:

  • 是否有可能第二个FROM 否定WORKDIR?你能试试吗?也可能是副本
  • FROM composer... 行之前的任何内容在此 Dockerfile 中都没有任何影响。指定一个新的FROM 图像重新开始,仅使用该基本图像的内容。通常这用于多阶段构建,其中您 COPY --from=... 在早期阶段构建的工件。

标签: php laravel docker docker-compose


【解决方案1】:

使用WORKDIRCOPY 的完整路径

试试这个:

FROM php:7.2-cli
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
CMD [ "php", "./your-script.php" ]

另外,如上所述,第二个FROMVENDOR 启动了一个新的构建阶段。

【讨论】:

    猜你喜欢
    • 2014-11-29
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 2023-02-08
    • 2016-05-05
    • 2021-01-29
    • 2014-03-26
    相关资源
    最近更新 更多