Laravel /bin/sh:1:编写器:未找到
我正在尝试建立一个DockerfileLaravel /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
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。