[英]Running composer install in docker container
我有一个docker-compose.yml脚本,看起来像这样:
version: '2'
services:
php:
build: ./docker/php
volumes:
- .:/var/www/website
位于./docker/php中的DockerFile看起来像这样:
FROM php:fpm
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
RUN php composer-setup.php
RUN php -r "unlink('composer-setup.php');"
RUN mv composer.phar /usr/local/bin/composer
RUN composer update -d /var/www/website
Eventho这总是失败并显示错误
[RuntimeException]
Invalid working directory specified, /var/www/website does not exist.
当我删除RUN composer更新行并输入容器时,该目录确实存在并且包含我的项目代码。
请告诉我我做错了什么还是在错误的地方进行了作曲家更新
RUN ...
行在构建映像时运行。 卷已连接到容器。 您在这里至少有两个选择:
COPY
命令将您的应用代码复制到映像中,以便该命令之后的所有命令都可以访问它。 (不要将映像推送到任何公共Docker存储库,因为它将包含您可能不想泄漏的源) ENTRYPOINT
中的CMD
或ENTRYPOINT
或ENTRYPOINT
-compose中的command
选项) 您正在将本地卷挂载到构建目录上,因此在容器运行时,在'/ var / www / website'中构建的任何内容都将被本地卷挂载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.