Рабочие для phantomJs не запускаются в контейнере Docker - PullRequest
0 голосов
/ 26 сентября 2018

Я работаю над Dockerizing моего приложения узла, которое использует 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 соответственно внутри моего работающего контейнера и использую эти значения для установки в переменных окружения PHANTOMJS_PLATFORM и PHANTOMJS_ARCH в моем dockerfile.Я также пытался установить фантомы отдельно, используя RUN npm i -g phantomjs-prebuilt --unsafe-perm.Мой 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" ]

1 Ответ

0 голосов
/ 27 сентября 2018

Не уверен, поможет ли это, но вы можете попробовать:

Запустить npm i phantomjs-prebuilt --unsafe-perm в папке вашего приложения, т.е. без -g.Это должно создать папку в node_modules с именем "phantomjs-prebuilt".Кроме того, проверьте, есть ли у вас phantomjs двоичный файл, созданный по следующему пути node_modules/phantomjs-prebuilt/lib/phantom/bin/, после запуска этой команды.

...