Ich weiß, es gibt mehrere Beispiele (eigentlich nur ein paar) da draußen, und ich habe einige untersucht und versucht, sie auf meinen Fall anzuwenden, aber dann, wenn ich versuche, den Container anzuheben (docker-compose up
) Ich habe jedes Mal mehr oder weniger den gleichen Fehler.Heben Sie Segel in Docker Container
Meine Ordnerstruktur ist:
sails-project
--app
----api
----config
----node_modules
----.sailsrc
----app.js
----package.json
--docker-compose.yml
--Dockerfile
Die docker-compose.yml
Datei:
sails:
build: .
ports:
- "8001:80"
links:
- postgres
volumes:
- ./app:/app
environment:
- NODE_ENV=development
command: node app
postgres:
image: postgres:latest
ports:
- "8002:5432"
Und die Dockerfile
:
FROM node:0.12.3
RUN mkdir /app
WORKDIR /app
# the dependencies are already installed in the local copy of the project, so
# they will be copied to the container
ADD app /app
CMD ["/app/app.js", "--no-daemon"]
RUN cd /app; npm i
Ich habe auch versucht RUN npm i -g sails
statt mit (im Dockerfile
) und command:sails lift
, aber ich bin g etting:
Natürlich habe ich versucht, verschiedene Konfigurationen der Dockerfile
und dann mit unterschiedlichen Befehlen (node app
, sails lift
, npm start
, etc ...), aber immer wieder mit dem gleichen Fehler zu enden. Irgendwelche Ideen?
Vergessen zu sagen, dass ich die Abhängigkeiten in meiner lokalen Kopie des Projekts installiert habe, so 'ADD app/app' kopiert die Abhängigkeiten. Ich werde das OP jetzt mit dieser Info aktualisieren. :) – Milkncookiez
@Milkncookiez sicher. In einem vanilla sails-Projekt ist der sails-Ordner in node_modules jedoch ein Symlink. In Ihrer Dockerdatei wird nur der Symlink kopiert und nicht der gesamte Ordner. Um diese Installation zu testen, segeln Sie lokal in Ihrem Projektordner. –
Ich tat, und es läuft jetzt in Ordnung, ich weiß nicht warum und wie. In der 'Dockerfile' habe ich mich nicht wirklich verändert. – Milkncookiez