laravel - 从 laravel 项目创建 docker 镜像时 Composer 的问题

标签 laravel docker composer-php

我是 docker 新手,但我已阅读 som 指南并尝试创建 docker 镜像
来自我的 laravel 项目。

我正在运行的 docker 命令是

sudo docker build -t docker-image .



这是我的 Dockerfile:
FROM composer:1.8.5 as build
WORKDIR /app
COPY . /app
RUN composer install

FROM php:7.3-apache
EXPOSE 80
COPY --from=build /app /app
COPY vhost.conf /etc/apache2/sites-available/000-default.conf
RUN chown -R www-data:www-data /app && a2enmod rewrite

错误出现在步骤 4/9 运行 composer install 期间:

[ErrorException]
file_put_contents(/app/vendor/bin/generate-defuse-key): failed to open stream: No such file or directory



该文件存在于/vendor/bin/

谁能告诉我我做错了什么?

最佳答案

我发现问题不是 docker、composer 或 laravel 问题,而是 git 问题。
问题是 git 无法创建符号链接(symbolic link),我在 checkout 项目时错过了错误。当我再次执行所有步骤时,我发现了它。

关于laravel - 从 laravel 项目创建 docker 镜像时 Composer 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56542983/

相关文章:

node.js - 通过 Jenkins CI 在 Docker 容器中运行 Selenium 测试的最简单方法

php - fclose() : Argument #1 ($stream) must be of type resource, bool 给定

laravel - 如何解决php artisan key生成错误?

php - 库中的 Composer.lock

php - 从查询中部分匹配的 Laravel 搜索数据库表

php - 如何在 Eloquent Laravel 中对三个表进行咨询

docker - 如何从 minikube 中删除现有的已下载 docker 镜像

python - 将 python 依赖项添加到 Docker 容器的好方法是什么?

laravel - CodeIgniter 有预打包的 Vagrant 吗?

mysql - 使用数据库迁移与工作台