我正在将我的节点应用程序Docker化,该应用程序使用highcharts-export-server并在我的代码中创建图像。当我在本地计算机上运行创建的映像时,工作人员无法开始说 `
phantom worker 7 error - /usr/src/app/node_modules/phantomjs-
prebuilt/lib/phantom/bin/phantomjs: 1:
/usr/src/app/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs: Syntax error: Unterminated quoted string.
我正在使用的节点版本为8。我还尝试了在运行容器中分别使用platform
和architecture
记录process.platform
和process.arch
并使用这些值来记录在我的dockerfile中的环境变量PHANTOMJS_PLATFORM
和PHANTOMJS_ARCH
中设置。我还尝试使用RUN npm i -g phantomjs-prebuilt --unsafe-perm
单独安装phantomJs。我的Docker文件当前看起来像这样。
FROM node:8
WORKDIR /usr/src/app
COPY package*.json ./
ENV PHANTOMJS_BIN "/usr/local/bin/phantomjs"
ENV PHANTOMJS_PLATFORM "linux"
ENV PHANTOMJS_ARCH "x64"
ENV ACCEPT_HIGHCHARTS_LICENSE="YES"
RUN apt-get update && \
apt-get install -y \
python3 \
python3-pip \
python3-setuptools \
groff \
less \
&& pip3 install --upgrade pip \
&& apt-get clean
RUN pip3 --no-cache-dir install --upgrade awscli
RUN npm set strict-ssl false
RUN npm install
COPY . .
EXPOSE 8080
CMD [ "npm", "start" ]
答案 0 :(得分:0)
不确定这是否有帮助,但您可以尝试一下:
在您的应用文件夹中运行ConsultoraController.inicio = (req, res, next)=>{
let locals={
title: `Now Consultora`,
description: `El mejor lugar para encontrar de todo.`,
keywords:"now consultora, desarrollo web, diseño publicitario, google adwords, facebook ads, asesorias",
data:{
sesion: (req.user) ? true : false
}
}
if(!req.user){
res.clearCookie('connect.sid', { path: '/' });
}
res.render('index', locals);
}
,即不运行npm i phantomjs-prebuilt --unsafe-perm
。这应该在-g
中创建一个名为“ node_modules
”的文件夹。
另外,运行此命令后,请检查是否在以下路径phantomjs-prebuilt
中创建了phantomjs
个二进制文件。