如何使用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(Node Package Manager)以某种方式访问" Web"容器中的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

但是,从" Web"容器中的命令行无法访问NPM。也许我不了解某些概念,但我只想编译我的Stiles,JavaScript文件并从节点模块中复制字体。

最好的问候。伊万

添加到 docker-compose file

npm:  
  image: node:14
  working_dir: /var/www/my_shiny_project
  entrypoint: ["npm"]
  volumes: 
    - "./www/:/var/www/my_shiny_project"

用法:

docker-compose run --rm npm install

不要忘记检查两个 Working_dir bolumes

中的路径

for php7.2这是我在php.dockerfile

中所拥有的

RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - RUN apt-get install -y nodejs

尝试将其添加到您的web.dockerfile。

RUN apt-get install -y nodejs npm

然后构建您的容器,然后尝试在Web容器中运行节点或NPM

docker-compose run web bash

遵循本教程:https://medium.com/@wiwatsrt/laravel-development-environment-invironment-invironment-invironment-containers-7b173f62f372

设置Docker-Compose时,运行命令:

docker-compose run --rm nodejs npm install

最新更新