Zum Inhalt springen
TURNKEYGNU / LINUX
AnwendungenDokumentationBlogBildschirmfotosGitHubTurnKey Hub
文Deutsch
EnglishEspañol中文日本語PortuguêsDeutsch
Haus/Docker

Dokumentation

Docker

IMPORTANT NOTE
Leider wurden in letzter Zeit unsere Docker-Builds nicht gepflegt und diese Dokumentation funktioniert nicht wie vorgesehen. Post unten für eine Zusammenfassung der aktuellen Themen - mit möglichen Lösungen. Thema wurde auf unserem Issue Tracker abgelegt und hoffentlich können wir die Situation so schnell wie möglich lösen. Wenn Sie mehr hinzufügen müssen oder in der Lage sind zu helfen, ist Input immer willkommen.


Diese Seite beschreibt, wie man die Docker Bauten von TurnKey Linux AppliancesDie Verwendung von TurnKey Docker Builds erfordert ein Hostsystem mit Docker installiertWenn Sie Docker auf einem bestehenden TurnKey Appliance installieren möchten, konsultieren Sie bitte die Anleitung für Debian (TurnKey v15.x = Debian 9/Stretch).

Bitte beachten Sie, dass es sich um Container im "Full OS"-Stil handelt, anstatt um Container im "Anwendungsstil", wie es viele Docker-Benutzer normalerweise erwarten. Als solche bieten diese Container ein vollständiges TurnKey (Debian-basiertes) Betriebssystem und enthalten alle Softwarekomponenten des anderen Alternative TurnKey Appliance Download-Optionen (z.B. ISO, etc.) Sie bieten eine Umgebung, die eher einer LXC-Behälter Benutzer könnten erwarten, aber optimiert, um auf Docker zu laufen.

Diese Seite ist eine aktualisierte und verbesserte Version des Originals Docker erstellt Ankündigung.

Docker Builds

Dies sind TurnKey-Builds, die für die Ausführung als docker-Container optimiert sind und den automatischen Download über den öffentlichen docker-Index unterstützen.

Alle TurnKey Appliances sind auf dem Docker Hub (großzügig zur Verfügung gestellt von) Docker, Inc.), die die Einführung vereinfacht, z. B.:

docker pull turnkeylinux/core
docker run -i -t -d turnkeylinux/core

Docker-Container können im Vordergrund oder im Hintergrund ausgeführt werden, daher haben wir unser Bestes gegeben, um alle Anwendungsfälle in Bezug auf die Initialisierung zu unterstützen (aka). inithooks) - geheime Regeneration, Einstellung von Passwörtern, Anwendungskonfiguration, etc.

Je nach Anwendungsfall empfehlen wir Ihnen zwei Optionen:

Option 1: Initialisierung über ssh (interaktiv)

Beim ersten Login werden Sie aufgefordert, das Appliance zu initialisieren.

CID=$(docker run -i -t -d turnkeylinux/core)
CIP=$(docker inspect --format='{{.NetworkSettings.IPAddress}}' $CID)
docker logs $CID | grep "Random initial root password"
ssh root@$CIP

Option 2: Erstellen Sie ein neues Bild mit voreingestellten Werten (nicht interaktiv)

Der Appliance initialisiert sich mit der angegebenen Konfiguration. Sobald er initialisiert ist, wird die Konfiguration gelöscht. Weitere Informationen finden Sie unter: inithooks.

zu verwenden WordPress Beispiel:

mkdir /root/wordpress

cat > /root/wordpress/inithooks.conf <<EOF
export ROOT_PASS=secretrootpass
export DB_PASS=secretmysqlpass
export APP_PASS=secretadminwppass
export APP_EMAIL=admin@example.com
export APP_DOMAIN=www.example.com
export HUB_APIKEY=SKIP
export SEC_UPDATES=FORCE
EOF

cat > /root/wordpress/Dockerfile <<EOF
FROM turnkeylinux/wordpress
ADD inithooks.conf /etc/inithooks.conf
EOF

docker build -t wordpress /root/wordpress
docker run -i -t -d wordpress

Anmerkungen

Docker-Tags und ziehen / ausführen verschiedene TurnKey-Versionen

Vor TurnKey v15.0 enthielt jedes einzelne TurnKey Appliance Docker Build Release die TurnKey Version im Namen. v14.2 TurnKey Core war auf dem Docker Hub als "turnkeylinux / Core-14.2".<15.0) then you will need to include the specific version number as part of the name. E.g. to pull and run TurnKey Core v14.2:

docker pull turnkeylinux/core-14.2
docker run -i -t -d turnkeylinux/core-14.2

Ab v15.0+ verwenden wir jedoch Docker-Tags als eine viel bessere Möglichkeit, verschiedene Versionen unseres Appliances bereitzustellen. Tags können (optional) bei Verwendung des docker-Kommandozeilentools durch Anfügen eines Doppelpunkts (:) und des Tagnamens angegeben werden. Das "letzte" Tag zeigt immer auf das neueste Update, und wenn ein Tag nicht angegeben ist, wird "letztes" angenommen. Um die neueste Version von TurnKey core zu ziehen und auszuführen, können Sie eines dieser Beispiele verwenden:

docker pull turnkeylinux/core
docker run -i -t -d turnkeylinux/core

Oder wenn Sie wortreich sein wollen:

docker pull turnkeylinux/core:latest
docker run -i -t -d turnkeylinux/core:latest

Wenn Sie eine bestimmte Version herunterladen möchten (>=15.0), können Sie die gewünschte Version als Tag angeben. Drupal 8 Appliance als Beispiel, wenn Sie die Version v15.4 ziehen und ausführen möchten, können Sie dies folgendermaßen tun:

docker pull turnkeylinux/drupal8:15.4
docker run -i -t -d turnkeylinux/drupal8:15.4

Vorkonfigurierter Laufbefehl

Docker ist für "Anwendungs- oder Prozess" Container konzipiert - zum Beispiel, mysql laufen, und nur mysql. Docker Kurzschlüsse /sbin/init, so dass Sie nicht wirklich "booten" einen Container wie in Vanille LXC.

Um dies zu umgehen, haben wir /usr/sbin/start.sh(Standard-Ausführungsbefehl), der alle Dienste startet und zu einer Shell fällt. Aus diesem Grund wird SSH für die regelmäßige Konsolennutzung empfohlen.

STDIN und TTY Optionen erforderlich

Die Optionen -i und -t sind erforderlich, um STDIN anzubringen und dem Container ein TTY zuzuordnen. Es gab schritte von x0x, um dies vorkonfiguriert zu ermöglichen, aber wir haben noch nicht tiefer in das geschaut und sind nicht auf dem neuesten stand des spiels.

Vorkonfiguriert, um Ports freizulegen

Alle TurnKey Docker Appliances sind so konfiguriert, dass sie ihre benutzerdefinierten Dienste freigeben, was bedeutet, dass der Host auf die Dienste zugreifen kann, aber sie sind nicht dem Netzwerk ausgesetzt.

Die Freigabe von Ports in das Netzwerk muss zur Laufzeit erfolgen (docs), zum Beispiel:

# bind port 80 on the host to the container's port 80
docker run -i -t -d -p 80:80 turnkeylinux/lamp

Oder um einen alternativen Host-Port zu verwenden:

# bind port 8080 on the host to the container's port 80
docker run -i -t -d -p 0.0.0.0:8080:80 turnkeylinux/lamp

Sicherheitsupdates beim ersten Booten überspringen

Um das Testen während der Entwicklung zu beschleunigen, wurde die Unterstützung für das Überschreiben des Standard-SEC_UPDATES-Werts zu start.sh hinzugefügt. Es war geplant, diese Unterstützung zu entfernen oder sie undokumentiert zu lassen, aber wir haben beschlossen, dass andere sie beim Testen (und nur beim Testen!) nützlich finden könnten.

# THIS IS NOT RECOMMENDED, USE AT YOUR OWN RISK!
docker run -i -t -d -e SEC_UPDATES=SKIP turnkeylinux/openldap
TURNKEYGNU / LINUX

Eigene Infrastruktur betreiben, ohne bei null anzufangen.

TurnKey erkunden
Über TurnKeyDokumentationHäufige FragenBlogGitHub
Frei und quelloffenStandardmäßig sicherSofort einsatzbereit