Warum Docker in der IDE? Was ist der Use-Case?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
buhtz
Beiträge: 1105
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Warum Docker in der IDE? Was ist der Use-Case?

Beitrag von buhtz » 27.02.2024 13:48:58

Moin,

ich beziehe mich auf diesen Guide der scheinbar erklärt, wie man Docker in der Entwicklung (mit VS Code) einsetzt.

Was ich nicht verstehe ist, warum man das macht. Welche Aufgabe erledigt man in der IDE (hier VS Code), für die es einen Container benötigt?

Ich selbst nutze vereinzelt und manuell VirtualBox für diverse Aufgaben, um mein Produktivsystem nicht mit Experimenten zu zerstören. Docker kann man da sicherlich auch als Alternative nutzen, wenn man weiß wie es geht. Ich habe es bisher nicht hinbekommen. Wie gesagt, sind das aber vereinzelte Fälle, wo ich die VM nutze. Es gehört nicht zu meinem regulären Workflow und schon gar nicht in die IDE. Vielleicht könnte man sagen, dass ich eine VM zur Isolation i.S. einer Sandbox nutze.

Wenn ich System Tests machen muss, für die ich Server-Prozesse und Datenbanken aufsetzen muss, passiert dies auf einem separaten externen Server (TravisCI in meinem Fall). Auch hier benötige ich keine IDE. Sondern ich pushe meinen Code nach remote und Travis springt an.

Das ist so ungefähr das, womit ich es als semi-professioneller FOSS Entwickler und Maintainer immer zu tun habe. Daher verstehe ich nicht, was jemand mit Docker in einer IDE tun könnte. Will es nicht kritisieren, sondern wirklich verstehen.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Benutzeravatar
TRex
Moderator
Beiträge: 8063
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Warum Docker in der IDE? Was ist der Use-Case?

Beitrag von TRex » 27.02.2024 17:43:54

Du hast es ja schon skizziert, du musst für jede Änderung, die du vertesten willst, deinen Code nach $remote pushen. Das kostet Zeit, vielleicht auch Geld. Vieles, was mir auf die Schnelle einfällt, kann ich auch parallel in verschiedenen Version installieren, aber manches auch nicht. Ein weiterer Anwendungsfall: du hast eine heterogene Entwicklerlandschaft, für die ein Setup am einfachsten als Dockerfile geteilt ist (als leichtgewichtige Alternative zur VM).

Vielleicht ist das Entwicklersetup selbst auch riesig/kompliziert/von unfreien Komponenten abhängig. Ich meide sowas selbst wie die Pest, aber weiß von Teams, die für ein Basissetup ne halbe Stunde lang Pakete auf die Platte ziehen. Da ist so ein fertiges Image vielleicht nicht verkehrt...

Gebraucht habe ich das bisher selbst aber nicht.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Antworten