Ich habe ein GitLab-Repository, in dem ich eine node.js App mit Express habe, möchte ich diesen Code auf meinem Ubuntu-Server "deploy" verwenden, um den Express-Server nicht nur lokal, sondern lokal zu verwenden Ich möchte stattdessen node.js installieren. Ich möchte versuchen, Docker zu verwenden. Ich habe viel über Docker gelesen, und ich hatte die grundlegende Sache verstanden. Meine Frage ist dies, wenn ich Docker auf meinem Ubuntu Server installiere, wie kann ich meinen Code auf Docker "deployen", wenn ich mein Repository einschalte?Push-Code zu remote Docker
Antwort
Grundsätzlich müssen Sie den Prozess in zwei Schritte aufteilen. Einer dockt Ihre App an, was bedeutet, dass Sie ein Docker-Image für Ihr Repository erstellen müssen. Der zweite Schritt besteht darin, dass Ihr Server dieses Image verwendet und möglicherweise den Prozess bei Push automatisiert. Also würde ich so etwas tun:
- Dockerize Ihre App. Dies bedeutet, dass Sie ein
Dockerfile
haben, in dem Sie ein Image erstellen, das Ihre App enthält, es ausführt und möglicherweise einen Port exportiert, um es extern zu verwenden. - Führen Sie das Image auf Ihrem Server aus. Ihr Server muss
docker
installiert haben und in der Lage sein, das richtige Bild zu erhalten (mehr dazu später). Wenn nur ein Bild verwendet wird, können Sie einfach einen einfachendocker run
Befehl verwenden. Wenn es mehr Teile gibt, wie eine Datenbank oder ein Webserver, würde ich empfehlen, zu verwenden. - Stellen Sie das Bild auf Ihrem Server zur Verfügung. Sie haben hier mehrere Möglichkeiten. Sie können publish Ihr Bild zu einem Docker-Repository (privat oder öffentlich), oder Sie können einfach das Repository auf Ihrem Server herunterladen, und das Image dort erstellen.
- Schließlich müssen Sie diese Schritte binden. Dazu benötigen Sie eine hook, die auf Commits auf dem Server reagiert, wo Sie einen Befehl an den Server senden, um das Image abzurufen/zu erstellen und die neuere Version auszuführen.
Sie haben eine Menge Flexibilität, wie Sie dies tatsächlich tun. Ich würde mit einem einfacheren Prozess beginnen, bei dem Sie das Image auf Ihrem Server erstellen und darauf basierend auf Ihren Anforderungen aufbauen.
Also, Dockerize die App bedeutet, erstellen Sie die DockerFile, und dann den Server, die Docker installiert haben, mit dem Haken zu jedem Push, ziehen Sie den Code und bauen Sie die DockerFile wieder und wieder und wieder, es ist richtig? – Piero
yeah von dockerize Ich meine, fügen Sie eine 'Dockerfile' hinzu und machen Sie Ihre Anwendung als Docker-Image ausführbar. Dann bringt Sie der Haken die neueste Version und Sie können das Bild einfach in Ihrem Server ausführen. Ich denke, dass das Setup am einfachsten ist. –
Dokku ist eine Docker-basierte PaaS-Plattform, die git push Bereitstellungen bietet. Es unterstützt Heroku Buildpacks, um eine Anwendung oder benutzerdefinierte Dockerfile deployments zu erstellen.
- 1. Docker mount von Host zu remote
- 2. docker cp remote (von Container zu Host)
- 3. Remote Docker Befehle Ausführung
- 4. Docker-Container remote bereitstellen
- 5. Kann Docker Selen Remote-Knoten zu selen Hub Remote-Host mit Docker
- 6. Python Remote-Debugging mit Docker
- 7. Docker remote API nicht zugänglich
- 8. NodeJS Remote-Debugging mit Docker
- 9. Remote-LLDB-Debugging - Docker-Container
- 10. Verwenden von PyCharm Remote-Debugger auf Remote-Computern in Docker
- 11. Docker exec falsch mit Remote-Docker Gastgeber in Jenkins
- 12. Docker Remote API Ziehen von Docker Hub private Registry
- 13. Zugriff Docker-Daemon Remote-API auf Docker für Mac
- 14. Fügen Sie remote-Tag zu einem Docker-Bild hinzu
- 15. Wie benutze ich docker remote api um Container zu erstellen?
- 16. Rsync (oder ssh) zu einem Remote Docker Container auf EC2
- 17. Verbindung zu Remote-MySQL db von Docker Containern
- 18. Unable Docker Bild zu ziehen, bekommen 'remote Fehler: Zugriff verweigert'
- 19. Was ist äquivalenter Remote-API-Befehl zu 'docker run -d'?
- 20. Docker Container nicht auf Remote-SQL
- 21. Push Docker Bild auf Remote-Server
- 22. Bild aus der Remote-Registrierung ziehen - Docker
- 23. Einrichten einer privaten Docker-Remote-Registrierung
- 24. Docker: Deaktivieren ziehen aus Remote-Registrierung
- 25. mit Remote-Dateisystem in Docker, Best Practices
- 26. Py-Docker create_container mit Remote-Volumes
- 27. Docker Remote API exec: Befehl Exit Code
- 28. Docker-Dienste lokal und andere remote ausgeführt
- 29. Kann nicht Push-to-Remote-Docker Registry
- 30. Remote-Zugriff auf Webserver in Docker Containern
Es gibt eine ähnliche Frage in Software-Empfehlungen -> https://softwarerecs.stackexchange.com/questions/44768/heroku-like-deployment-git-push-and-application-management-platform –