如何使用docker-compose设置npm的laravel?

我有下一个docker-compose.yml文件

version: '2' services: # The Application app: build: context: ./ dockerfile: app.dockerfile working_dir: /var/www/html volumes: - ./giftmeabetterplanet:/var/www/html environment: - "DB_PORT=3306" - "DB_HOST=database" # The Web Server web: build: context: ./ dockerfile: web.dockerfile working_dir: /var/www/html links: - database:mysql volumes_from: - app ports: - 81:80 environment: - "WEB_DOCUMENT_ROOT=/var/www/html/public" # The Database database: image: mysql:5.6 volumes: - dbdata:/var/lib/mysql environment: - "MYSQL_DATABASE=homestead" - "MYSQL_USER=homestead" - "MYSQL_PASSWORD=secret" - "MYSQL_ROOT_PASSWORD=secret" ports: - "3306" volumes: dbdata: 

我需要使NPM(节点包pipe理器)以某种方式访问​​,以在“web”容器中构build我的JS和CSS文件。

app.dockerfile

 FROM php:7.0.4 RUN apt-get update && apt-get install -y libmcrypt-dev \ mysql-client libmagickwand-dev --no-install-recommends \ && pecl install imagick \ && docker-php-ext-enable imagick \ && docker-php-ext-install mcrypt pdo_mysql 

web.dockerfile

 FROM webdevops/php-apache-dev:ubuntu-16.04 

我已经通过扩展web.dockerfile来尝试下一个方法

 FROM orlandohohmeier/local-npm FROM webdevops/php-apache-dev:ubuntu-16.04 

但是npm不能从'web'容器的命令行访问。 也许我不明白一些概念,但我只是想编译我的stiles,JavaScript文件和从节点模块复制字体。

最好的祝福。 伊万

尝试添加到您的web.dockerfile。

 RUN apt-get install -y nodejs npm 

然后构build你的容器,并尝试在Web容器中运行node或npm

 docker-compose run web bash