如何在 PHP docker 镜像上安装 yarn 和 npm(symfony 4 项目)



我正在开发一个symfony 4/posgresql项目。我正在使用码头工人工具箱。

我需要在symfony上安装webpack encore捆绑包,但是为了做到这一点,我需要在我的项目中添加yarn和npm。有人告诉我,我应该在我的 php docker 容器上添加这 2 个安装,但我不知道要添加哪个命令(我是 linux/docker 初学者(。

这是我的docker-compose.yaml :


services:
database:
image: postgres:11-alpine
ports:
- "5432:5432"
volumes:
- 'boeki_database:/var/lib/postgresql/data'
environment:
POSTGRES_PASSWORD: root

database_pg_admin:
image: dpage/pgadmin4
ports:
- "8001:80"
environment:
PGADMIN_DEFAULT_EMAIL: root@root.com
PGADMIN_DEFAULT_PASSWORD: root

application:
build:
context: .
dockerfile: ./docker/Dockerfile
working_dir: /var/www/project
ports:
- "8000:80"
volumes:
- ./:/var/www/project:rw,cached
- ./docker/http/000-default.conf:/etc/apache2/sites-enabled/000-default.conf:rw,cached

volumes:
boeki_database: {} 

这是我的 Dockerfile:


RUN apt-get update && 
apt-get install -y libpq-dev g++ zlib1g-dev libicu-dev vim git zip

#GD
RUN apt-get update && 
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends 
libfreetype6-dev 
libjpeg62-turbo-dev 
libpng-dev 
libzip-dev 
poppler-utils

RUN rm -rf /var/lib/apt/lists/*
RUN docker-php-ext-configure gd --with-freetype --with-jpeg && 
docker-php-ext-install -j "$(nproc)" gd pdo_pgsql

RUN docker-php-ext-configure intl
RUN docker-php-ext-install pdo pdo_mysql intl zip opcache

RUN pecl install redis && echo "extension=redis.so" > /usr/local/etc/php/conf.d/docker-php-ext-redis.ini

RUN a2enmod rewrite

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

感谢您的帮助!

根据 https://classic.yarnpkg.com/en/docs/install#debian-stable 提供了一些命令,将以下内容添加到您的dockerfile应该可以工作(免责声明:我对docker不是很熟悉(

RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get update && sudo apt-get install -y yarn

(-y 删除问题(

最新更新