2016-07-30 16 views
1

Ich versuche mit Schluck einen Webpack-Compiler in einer Docker-Umgebung zu starten. Wann immer ich versuche, den Befehl auszuführen (in ssh, der Dockerfile oder der Procfile), schlägt es mit Fehlercode 1 fehl und druckt nichts.Schluck läuft nicht auf Docker Ubuntu

Ich überprüft und Schluck ist in node_packages installiert, aber wenn ich es von node_packages/.bin ausführen, bekomme ich die gleiche Antwort. Das Ausführen von "npm" funktioniert, aber das Ausführen von "node" scheint ebenfalls nicht zu funktionieren.

Weiß jemand, was schief läuft?

Dockerfile

FROM quay.io/aptible/ubuntu:14.04 

# Basic dependencies 
RUN apt-install build-essential python-dev python-setuptools 
RUN apt-install libxml2-dev libxslt1-dev python-dev 

# PostgreSQL dev headers and client (uncomment if you use PostgreSQL) 
# RUN apt-install libpq-dev postgresql-client-9.3 postgresql-contrib-9.3 

# MySQL dev headers (uncomment if you use MySQL) 
RUN apt-install libmysqlclient-dev 

RUN easy_install pip 
RUN apt-install node 
RUN apt-install npm 

# Add requirements.txt and package.json ONLY, then run pip install, so that Docker cache won't 
# bust when changes are made to other repo files 
ADD requirements.txt /app/ 
ADD package.json /app/ 
WORKDIR /app 
RUN pip install -r requirements.txt 
RUN npm install 

# Add repo contents to image 
ADD . /app/ 
# RUN npm install -g gulp 
# RUN gulp webpack:dev 

#django environment variables 
# ENV DATABASE_URL xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
# ENV SECRET_KEY xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
# ENV DJANGO_SETTINGS_MODULE xxxxxxxxxxxxx 

ENV PORT 3000 
EXPOSE 3000 

procfile

web: sudo node_modules/.bin/gulp webpack:dev && sudo python app/manage.py runserver 0.0.0.0:$PORT 

Antwort

1

ändern diese Linien

RUN apt-install build-essential python-dev python-setuptools 
... 
RUN apt-install node 
RUN apt-install npm 

auf diese:

RUN apt-install build-essential curl python-dev python-setuptools 
... 
RUN curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - 
RUN apt-get install -y nodejs 

Sie werden bemerken, dass wir Ihrer Tool-Installation einen Curl hinzugefügt haben und wir greifen den Knoten ppa und installieren ihn dann. Dies wird Ihnen die aktuellere Version des Knotens in diesem Zweig geben. Es wird auch mit npm kommen, Sie müssen das nicht separat installieren.

Kommentar- dieser Linie, wie Sie ein global sein wollen schlucke installieren

# RUN npm install -g gulp 

Entsprechend in Ihrer proc-Datei - verwenden, um den globalen schluck

+0

Dank! Das hat funktioniert. – decamun

Verwandte Themen