2017-01-10 4 views
0

Ich habe eine PROD-Umgebung auf RHEL 7 Server ausgeführt. Ich möchte Docker für die Bereitstellung verwenden. Ich möchte die gesamte Software und alle Apps in einem Docker-Image ohne ein Basis-Betriebssystem verpacken. Weil ich keine zusätzliche Ebene über RHEL hinzufügen möchte. Außerdem konnte ich kein offizielles Basisbild für RHEL finden. Ist das möglich?Docker Bild enthalten nur Software ohne OS

Ich sehe einige alte Beiträge über "von Grund auf" erwähnt, aber sieht aus, dass es nicht in der neuesten Version von Docker - 1.12.5 funktioniert.

Wenn das nicht möglich ist, irgendwelche Vorschläge dafür?

+1

Versuchen Sie, alle Apps in einer Umgebung in einem einzelnen Container zu packen? Das ist normalerweise eine schlechte Übung in Docker, da sie einen einzelnen Dienst in jedem Container empfehlen. – zhqiat

+1

Entweder Sie kompilieren Ihre gesamte App in eine eigenständige ausführbare Datei mit Null Abhängigkeiten - oder-- Sie verwenden Docker wie vorgesehen mit einem Basis-OS. – user2105103

+0

Ich möchte meine Apps (derzeit nur eine App) vom Betriebssystem und anderen Abhängigkeiten trennen. Mein Problem ist, dass ich nicht möchte, dass mein Basis-Image das "FROM: RHEL" hat, um eine zusätzliche Ebene über meinem Host-Betriebssystem hinzuzufügen. – user2777473

Antwort

0

Docker soll auch die Abhängigkeiten des Betriebssystems abstrahieren - dafür wurde es entwickelt. Außerdem kapselt es die Laufzeit, den Speicher und die Dinge ein, es wird speziell als eine extrem bessere Variante von chroot verwendet (sagen wir mal Chroot auf Ultra-Steroiden).

Es scheint, als ob Sie weder die Laufzeittrennung noch die Trennung der Betriebssystemschicht (Abhängigkeiten) wollen - so macht Docker absolut keinen Sinn für Sie.

Die Bereitstellung mit Docker ist nicht "einfach" oder einfacher als die Verwendung anderer Tools. Sie können capistrano oder wahrscheinlich etwas wie https://www.habitat.sh/ verwenden, das eigentlich keine Software benötigt, die in Docker-Containern gebündelt werden muss, um "entfaltbar" zu sein, es funktioniert auch auf Barebones und verwendet sein eigenes Verpackungsformat. So haben Sie eine hochmoderne Deployment-Lösung, und mit Habitat können Sie später sogar mit Docker-Containern upgraden.