"Erstellen Sie Reagieren-App" mit Docker
Ich Frage mich, ob jemand schon Erfahrung mit erstellen-reagieren-app mit docker. Ich war in der Lage, um es einzurichten mit einem Dockerfile wie:
from node
RUN mkdir /src
WORKDIR /src
ADD package.json /src/package.json
RUN npm install
EXPOSE 3000
CMD [ "npm", "start" ]
Und dann eine docker-compose-Datei wie:
app:
volumes:
- "./app:/src"
ports:
- "3000:3000"
- "35729:35729"
build: ./app
Dieser erlaubt mir zu beginnen, bis der Behälter und die Ansicht der app. Aber livereload hat nicht funktioniert, beim speichern von Dateien in das gemountete volume und webpack erstellt mehrere .json.gzip-Dateien im src-Verzeichnis.
Irgendwelche Vorschläge für die erste dieser arbeiten, richtig?
- Ich glaube docker ist nicht das richtige Werkzeug für das, was Sie haben wollen. Entwickeln gerade auf yout Maschine mit live-nachladen und andere Funktionen, die Sie mögen und bauen Container/Bilder für die version freigegeben oder nur für automatisierte Tests... Es ist nicht klar, warum Sie brauchen das Andockfenster für die Entwicklung hier...
- livereload sollte funktionieren, wenn Sie Docker für Mac, oder mit docker auf linux. Wenn Sie noch Andockfenster Toolbox (mit VM) es wurde berichtet, dass die Datei beobachten oft nicht funktioniert.
- danke für den Tipp eingeschaltet, um Docker für Mac und alles funktioniert Super.
- Ich denke, Sie könnten Recht haben, mein Gedanke war, zu wickeln alles (einschließlich der backend arbeite ich an) in einem docker compose setup Umgang mit CORS aber ich denke, das ist wahrscheinlich overkill.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Yeah, wie aholbreich erwähnt, verwende ich
npm install
/npm start
lokal auf meinem Rechner für die Entwicklung, gerade weil es so einfach ist. Es ist wohl möglich mitdocker-compose
-, Montage-volumes usw. auch, aber ich denke, es könnte ein bisschen fummelig einzurichten.Für die Bereitstellung können Sie dann sehr leicht mit einem Dockerfile. Hier ein Beispiel für ein Dockerfile, das ich verwende:
Müssen Sie den
start:prod
option, um Ihre Paket.json:Führen Sie die tests auf Ihre CI-service mit:
Es gibt nichts stoppen Sie die Ausführung von dieser docker-container vor Ort als auch, um sicherzustellen, dass alles wie erwartet funktioniert.
Ich habe vor kurzem ein kleines Projekt namens Hallo-docker-reagieren, der nur tut, was der op sucht.
Es mit docker-compose erstellen-reagieren-app, Garn, eine Knoten-Bild, und eine kleine entrypoint-Skript.
Live-reload funktionieren einwandfrei und ich habe keine gefunden die Probleme noch.
https://github.com/lopezator/hello-docker-react
hier ist gut gide für dieses
https://mherman.org/blog/dockerizing-a-react-app/
für die Entwicklung
für die Produktion