2016-09-12 47 views
5

Próbuję zainstalować plik wykonywalny phantomjs w kontenerze dokowania, razem z węzłem. Myślę, że jestem już prawie na miejscu, ale jestem całkiem nowy w Dockerze i niezbyt dobrze orientuję się w instalowaniu plików binarnych lub pracy z Linuksem, więc ciężko pracuję nad tym, gdzie idę źle.Instalowanie phantomjs z węzłem w docker

To jest mój plik doker:

FROM  node:6.4-onbuild 

# Install phantomjs 
WORKDIR  ~ 
RUN   apt-get install libfreetype6 libfreetype6-dev \ 
      && apt-get install libfontconfig1 libfontconfig1-dev 
RUN   export PHANTOM_JS="phantomjs-2.1.1-linux-i686" \ 
      && wget https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2 \ 
      && tar xvjf $PHANTOM_JS.tar.bz2 \ 
      && mv $PHANTOM_JS /usr/local/share \ 
      && ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin 

WORKDIR  /usr/src/app 
RUN   npm run build 
EXPOSE  8080 
CMD   ["node", "./bin/start.js"] 

Zabrakło mi bash na pojemniku i nie jest z pewnością coś, co nazywa phantomjs w /usr/local/bin ale jestem przy założeniu, że mam związane źle czy jest to nieprawidłowy plik wykonywalny. Wystąpił błąd z mojej aplikacji informujący mnie, że nie ma pliku wykonywalnego phantomjs w /usr/local/bin.

Czy ktoś może mi dać kilka wskazówek? Z przyjemnością przedstawimy więcej szczegółów, jeśli napiszesz komentarz.

Odpowiedz

7

Jest takie existing image for this already on Docker hub stosując następujący Dockerfile:

FROM debian:jessie 
MAINTAINER Werner Beroux <[email protected]> 
# 1. Install runtime dependencies 
# 2. Install official PhantomJS release 
# 3. Clean up 

RUN apt-get update \ 
    && apt-get install -y --no-install-recommends \ 
     ca-certificates \ 
     bzip2 \ 
     libfontconfig \ 
    && apt-get clean \ 
    && rm -rf /var/lib/apt/lists/* 

RUN apt-get update \ 
    && apt-get install -y --no-install-recommends \ 
     curl \ 
    && mkdir /tmp/phantomjs \ 
    && curl -L https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 \ 
      | tar -xj --strip-components=1 -C /tmp/phantomjs \ 
    && cd /tmp/phantomjs \ 
    && mv bin/phantomjs /usr/local/bin \ 
    && cd \ 
    && apt-get purge --auto-remove -y \ 
     curl \ 
    && apt-get clean \ 
    && rm -rf /tmp/* /var/lib/apt/lists/* 

# Run as non-root user 
RUN useradd --system --uid 72379 -m --shell /usr/sbin/nologin phantomjs 

USER phantomjs 
EXPOSE 8910 
CMD ["/usr/local/bin/phantomjs"] 
+0

Próbowałem tego Döcker zdjęcie pierwsze, nie działa dla mnie. Być może wystąpił problem z używaniem go z obrazkiem dokowanego node-onbuild. –

+0

Trudne do pomocy "nie działało" i "używanie go z obrazem node-onbuild" bez większej ilości szczegółów. – BMitch

+0

Zgadzam się, uruchomię go ponownie i skomentuję/edytuję mój post z wynikami –