Laravel /bin/sh:1:编写器:未找到

Laravel /bin/sh:1:编写器:未找到,laravel,docker,boot2docker,Laravel,Docker,Boot2docker,我正在尝试建立一个Dockerfile FROM php:7 RUN mkdir -p /home/winpc/test/laravelApp/app WORKDIR /home/winpc/test/laravelApp/app COPY composer.json /home/winpc/test/laravelApp/app RUN composer install COPY . /home/winpc/test/laravelApp/app CMD php artisan se

我正在尝试建立一个Dockerfile

FROM php:7

RUN mkdir -p /home/winpc/test/laravelApp/app
WORKDIR /home/winpc/test/laravelApp/app


COPY composer.json /home/winpc/test/laravelApp/app
RUN composer install

COPY . /home/winpc/test/laravelApp/app

CMD php artisan serve --host=0.0.0.0 --port=8181
EXPOSE 8181
但当我运行build命令时,它会说:

docker build -t lar-app .
/bin/sh: 1: composer: not found
The command '/bin/sh -c composer install' returned a non-zero code: 127
但是当我输入justcomposer时,它正确地显示了信息 我想问题在于命令:

RUN composer install

这里我使用的是Ubuntu 14.04,正如Stacktrace所说的,在运行
composer
命令之前安装composer

我添加了以下几行:

RUN wget https://raw.githubusercontent.com/composer/getcomposer.org/1b137f8bf6db3e79a38a5bc45324414a6b1f9df2/web/installer -O - -q | php -- --quiet
RUN mv composer.phar /usr/local/bin/composer
因此,您的Dockerfile将是:

FROM php:7

# Install composer:
RUN wget https://raw.githubusercontent.com/composer/getcomposer.org/1b137f8bf6db3e79a38a5bc45324414a6b1f9df2/web/installer -O - -q | php -- --quiet
RUN mv composer.phar /usr/local/bin/composer

RUN mkdir -p /home/winpc/test/laravelApp/app
WORKDIR /home/winpc/test/laravelApp/app

COPY composer.json /home/winpc/test/laravelApp/app
RUN composer install

COPY . /home/winpc/test/laravelApp/app

CMD php artisan serve --host=0.0.0.0 --port=8181
EXPOSE 8181

您尝试创建的docker映像未安装composer。
RUN composer install
尝试在映像本身而不是主机上运行
composer install
。因此,本质上,您需要先安装composer.mv:cannot stat'composer.phar':没有这样的文件或目录命令“/bin/sh-c mv composer.phar/usr/local/bin/composer”返回了一个非零代码:1我认为composer.phar没有正确下载我已经修改了Dockerfile。我一开始就安装好了。请再试一次好吗?运行apk update\&apk add ca certificates wget\&update ca certificates问题1-laravel/framework v5.0.9需要ext mcrypt*->系统中缺少请求的PHP扩展mcrypt。-laravel/framework v5.0.8需要ext-mcrypt*->系统中缺少请求的PHP扩展mcrypt。-laravel/framework v5.0.7需要ext-mcrypt*->系统中缺少请求的PHP扩展mcrypt。