Jwq*_*wqq 2 php node.js docker
我正在尝试为我的angular创建一个docker容器,其中包含php文件。Angular需要npm,所以我需要安装nodejs。我不需要为我的项目使用Apache,只需纯PHP即可正常工作。
我的理解是我应该有一个
FROM node:latest
..install php here
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app
RUN npm install
COPY . /usr/src/app
Run Code Online (Sandbox Code Playgroud)
我不确定如何安装php,有人可以指出正确的方向吗?非常感谢!
adn*_*ady 10
我认为在这种情况下,更好的方法是将节点 docker 镜像和 PHP docker 镜像一起使用,如下所示,而不是通过使用安装其中之一 apt-get install
FROM node:latest AS node
FROM php:7.4-fpm
COPY --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules
COPY --from=node /usr/local/bin/node /usr/local/bin/node
RUN ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app
RUN npm install
COPY . /usr/src/app
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您无需在每次更改代码时都安装 node 或 PHP 包,并且在 Dockerfile 中需要从头开始重建
我建议您以其他方式进行操作。由于php比安装更长,因此请使用php映像并安装节点。
FROM php:5.6-apache
RUN apt-get update && apt-get install -y node npm
#WORKDIR is /var/www/html
COPY . /var/www/html/
RUN npm install
Run Code Online (Sandbox Code Playgroud)
然后,您有apache2提供的.php文件。
| 归档时间: |
|
| 查看次数: |
4596 次 |
| 最近记录: |