2017-10-23 1 views
1

ich laufe möchte wissen, wie man mein npm-projekt besser mit docker automatisieren kann.
Ich verwende Webpack mit einem Vue.js-Projekt. Wenn ich npm run buld ausführen, bekomme ich einen Ausgabeordner ./dist das ist in Ordnung. Wenn ich dann ein Docker-Image über docker build -t projectname . erstellen und diesen Container ausführen, funktioniert alles einwandfrei.
webpack verbesserung der automatisierung durch verbesserung von dockerfile

Das ist mein Dockerfile (gefunden here)

FROM httpd:2.4 
COPY ./dist /usr/local/apache2/htdocs/ 

Aber es wäre schön, wenn ich nur das Docker Bild aufbauen konnte und das Projekt nicht manuell über npm run build zu bauen. Verstehst du mein Problem? Was könnten mögliche Lösungen sein?

Antwort

0

Wenn Sie Ihre gesamte Arbeit (npm build und andere) außerhalb des Containers erledigen und nur selten Änderungen vornehmen, können Sie ein einfaches Shell-Skript verwenden, um die beiden Befehle zu umbrechen.

Wenn Sie eine häufigere iterative Entwicklung durchführen, könnten Sie einen Task-Runner (Grunt vielleicht?) Als Container-Service verwenden (oder ihn lokal ausführen).

Wenn Sie die Aufgabe in Docker ausführen/erstellen möchten, können Sie sich docker-compose ansehen. Die genauen Details, wie dies festgelegt wird, würden mehr Details über Ihren Workflow erfordern, aber docker-compose macht es relativ einfach, & mehrere Dienste in einer einzigen Datei zu verknüpfen und sie mit einem einfachen Satz von Befehlen zu starten und zu stoppen.