Mit Aus docker-compose importieren übernehmen Sie eine komplette Anwendung aus einer docker-compose.yml, zum Beispiel WordPress mit seiner Datenbank. Wir lesen alle Dienste der Datei, zeigen Ihnen vorher genau, was entsteht, und legen danach alles in einem Durchgang an: Container, Netze, Volumes, Variablen und auf Wunsch je Dienst einen veröffentlichten Port - als Web-Adresse mit HTTPS oder als eigenen TCP-Port. Möchten Sie nur die Angaben eines einzelnen Dienstes in einen neuen Container übernehmen, nutzen Sie die Vorlage aus docker-compose.
1. Datei hochladen
- Öffnen Sie Ihr Container-Projekt und klicken Sie oben auf Aus docker-compose importieren.
- Wählen Sie unter Datei mit Compose-Datei wählen Ihre
docker-compose.ymlaus oder fügen Sie den Inhalt mit Inhalt einfügen ein und klicken Sie auf Datei auslesen. - Nutzt Ihre Datei Variablen wie
${DB_PASSWORD}oderenv_file: .env, laden Sie unter .env-Datei (optional) auch Ihre.envhoch.
Beide Dateien werden nur gelesen und nicht gespeichert. Eine Datei darf höchstens 64 KB groß sein.
2. Gruppe benennen
Alle Container des Imports erhalten den Namen der Gruppe vorangestellt. Heißt die Gruppe blog, werden aus den Diensten wordpress und db die Container blog-wordpress und blog-db. Untereinander erreichen sich die Dienste weiter unter ihrem Namen aus der Datei - eine Angabe wie WORDPRESS_DB_HOST: db funktioniert also unverändert. Das Netz der Datei heißt im Projekt wie die Gruppe, weitere Netze <gruppe>-<netz>.
3. Werte für Variablen eintragen
Unter Werte für Variablen steht jede Variable, die Ihre Datei verwendet, mit ihrer Herkunft: aus .env, Vorgabe der Datei oder fehlt. Fehlende Werte tragen Sie hier ein. Für Passwörter erzeugt Erzeugen ein zufälliges Passwort. Variablen mit Namen wie PASSWORD, SECRET, TOKEN oder KEY speichern wir als Geheimnis verschlüsselt (Umgebungsvariablen und Geheimnisse).
4. Dienste prüfen
Unter Dienste sehen Sie jeden Dienst mit dem künftigen Container-Namen, dem Image und dessen Prüfstatus:
- Geprüft oder Wird vor dem Start geprüft - das Image kann übernommen werden.
- Freigabe nötig - das Image stammt nicht aus einer freigegebenen Quelle. Mit Freigabe anfragen bitten Sie unser Team darum, oder Sie nehmen den Dienst heraus.
- Kein Image (build) - der Dienst wird aus Quelltext gebaut. Bauen Sie das Image vorher selbst und laden Sie es in Ihre Registry (Container anlegen), oder nehmen Sie den Dienst heraus.
- Gesperrt oder Ungültige Adresse - wählen Sie in der Datei eine andere Version oder nehmen Sie den Dienst heraus.
Mit dem Schalter Übernehmen nehmen Sie einen Dienst aus dem Import heraus. Bei Web-Adresse wählen Sie den Port, unter dem der Dienst im Web erreichbar sein soll - wir schlagen ihn aus den Ports der Datei vor. Die Adresse lautet dann <container>-<projekt>.<basisdomain> mit SSL (Container im Web erreichbar machen). Unter Details stehen Variablen, Volumes, Netze, Grenzen, Startbefehl und Neustart des Dienstes, und darunter Hinweise, was wir angepasst oder nicht übernommen haben.
5. Container anlegen
Die Zusammenfassung zeigt, wie viele Container, neue Netze und Web-Adressen entstehen und wie viele Container Ihr Projekt danach belegt. Steht dort Vor dem Import zu klären, beheben Sie die genannten Punkte zuerst, etwa fehlende Passwörter, einen schon vergebenen Gruppennamen oder die Grenzen Ihres Tarifs (Tarif und Optionen). Bestätigen Sie die Lizenzbedingungen - und bei Images mit Sicherheitsfunden das Risiko - und klicken Sie auf Container anlegen.
Alles entsteht in einem Durchgang: Scheitert ein Teil, wird nichts angelegt. Danach prüfen wir die Images, und die Container starten von selbst - Dienste mit depends_on nach den Diensten, die sie brauchen. Den Fortschritt sehen Sie im Projekt.
Was übernommen wird - und was nicht
Übernommen: image, environment, env_file: .env, volumes, networks samt internal und Aliasen, container_name (als zusätzlicher Name im Netz), command, restart, depends_on (Startreihenfolge) sowie mem_limit und cpus, soweit sie in Ihren Tarif passen.
Angepasst: Ordner vom Server (./daten:/var/lib/…) werden zu leeren Volumes - laden Sie die Inhalte danach im Dateibrowser hoch (Datenträger und Dateibrowser). Feste Digests (@sha256:…) ersetzen wir durch den von uns geprüften Stand. Mehrere Instanzen (replicas) werden ein Container.
Nicht übernommen: build, privileged, cap_add, devices, network_mode, Zugriffe auf den Server wie /var/run/docker.sock, sowie Angaben ohne Wirkung auf der Plattform wie healthcheck, user oder entrypoint. Je Dienst veröffentlichen Sie einen Port: als Web-Adresse mit HTTPS (für Anwendungen im Browser) oder als eigenen TCP-Port (für SSH, Datenbanken und andere Dienste ohne Browser). Weitere Ports geben Sie bei Bedarf später unter Erreichbarkeit frei (Netze und Firewall).
Daten umziehen
Der Import legt Ihre Anwendung leer an - Ihre bisherigen Daten bringen Sie danach mit:
- Dateien wie Uploads oder Themes laden Sie im Reiter Datenträger in das passende Volume (Datenträger und Dateibrowser).
- Datenbanken exportieren Sie auf dem alten Server, laden den Export in ein Volume und spielen ihn über die Konsole oder das Werkzeug der Anwendung ein.
Alle Images prüfen wir vor dem ersten Start auf Sicherheit (Sicherheit im Container-Hosting).
Wird meine docker-compose-Datei gespeichert?
Warum heißen meine Container anders als in der Datei?
Ein Dienst wird mit build gebaut. Was tun?
Der Import meldet, dass mein Tarif nicht reicht.
Kann ich die Container danach noch ändern?
Wie lösche ich eine importierte Anwendung komplett?
Im Reiter Container steht über den Containern je importierter Gruppe der Knopf Gruppe löschen. Zur Bestätigung geben Sie den Namen der Gruppe ein. Gelöscht werden alle Container und Netze der Gruppe; die Daten (Volumes) nur, wenn Sie den Haken „Daten ebenfalls löschen" setzen. Ohne Haken bleiben die Volumes erhalten und ein erneuter Import mit demselben Gruppennamen übernimmt sie.
Welche Ports soll ich veröffentlichen?
Anwendungen im Browser (WordPress, n8n, Grafana …) veröffentlichen Sie als Web-Adresse: Sie bekommen eine Adresse mit SSL-Zertifikat. Dienste ohne Browser wie SSH oder eine Datenbank veröffentlichen Sie als eigenen TCP-Port und legen danach unter Erreichbarkeit fest, wer zugreifen darf. Dienste, die nur andere Container erreichen müssen, veröffentlichen Sie gar nicht - sie sind im Netz über ihren Namen erreichbar.