IONOS Docker Machine Driver

Der IONOS Cloud Driver ist ein Plugin für Docker Machine, mit dem Sie die Bereitstellung von Docker-Hosts auf Cloud Server automatisieren können. Das Plugin basiert auf dem IONOS CloudServer Go SDK und Cloud API.

Um IONOS Cloud API-Anmeldeinformationen zu erhalten, besuchen Sie  https://www.ionos.com.

Merkmale

Der #IONOS## Docker Machine Treiber kann entweder aus dem Quellcode oder von der GitHub Releases Seite installiert werden. Der Treiber ermöglicht es Ihnen, Docker-Hosts zu erstellen. Sie können die IP-Adresse, das Rechenzentrum, die Firewall-ID und vieles mehr angeben. Weitere Informationen zur Verwendung von Docker Machine finden Sie in der offiziellen Dokumentation.

Unterstützte Versionen

Der IONOS Cloud Driver unterstützt Docker Machine Version 0.5.1 oder neuer. Mac OSX- und Windows-Benutzer können das Paket Docker Toolbox installieren, das die neueste Version der Docker Machine enthält.

Anforderungen

Benutzer von Windows und Mac OS X können das Docker Toolbox Paket installieren, das die neueste Version der Docker Machine enthält.

Installation

Aus einem Release

Die neueste Version des Docker-Machine-Treiber-Einzelbinarys ist auf der GithHub Releases Seite verfügnbar.

Laden Sie das tar-Archiv herunter und entpacken Sie es in ein Verzeichnis, das sich in Ihrem PATH befindet. Wählen Sie die Binärdatei aus, die Ihrem Betriebssystem und dem Dateinamenspräfix entspricht:

  • Linux: docker-machine-driver-oneandone-linux
  • Mac OS X: docker-machine-driver-oneandone-darwin
  • Windows: docker-machine-driver-oneandone-windows

Um die Binärdatei zu extrahieren und zu installieren, können Linux- und Mac-Nutzer das Terminal verwenden. Führen Sie die folgenden Befehle aus:

Wenn Sie Windows verwenden, müssen Sie möglicherweise auch GNU Make, Bash-Shell und einige andere Bash-Dienstprogramme installieren, die mit  Cygwin verfügbar sind.

sudo tar -C /usr/local/bin -xvzf docker-machine-driver-oneandone*.tar.gz

Ändern Sie bei Bedarf die Berechtigungen, um das Plugin ausführbar zu machen:

sudo chmod +x /usr/local/bin/docker-machine-driver-oneandone

Windows-Benutzer können die obigen Befehle ohne Sudo im Docker Quickstart Terminal ausführen, das mit der Docker Toolbox installiert wird.

Aus dem Quellcode

Stellen Sie sicher, dass Sie Go und GOPATH richtig konfiguriert haben.

Um das Repository herunterzuladen und den Treiber zu erstellen, führen Sie die folgenden Schritte aus:

go get -d -u github.com/1and1/docker-machine-driver-oneandone
cd $GOPATH/src/github.com/1and1/docker-machine-driver-oneandone
make build

Treiber installieren:

make install

Dieser Befehl installiert den Treiber in /usr/local/bin.

Sie können auch die Umgebungsvariable entsprechend setzen, zum Beispiel:

export PATH=$GOPATH/src/github.com/1and1/docker-machine-driver-oneandone/bin:$PATH

Wenn Sie Windows verwenden, müssen Sie möglicherweise auch GNU Make, Bash-Shell und einige andere Bash-Dienstprogramme installieren, die mit  Cygwin verfügbar sind.

Treiber nutzen

Sie können die offizielle Dokumentation der Docker Machine lesen, bevor Sie den Treiber verwenden.

Vergewissern Sie sich, dass die Docker Machine den Treiber IONOS sehen kann:

docker-machine create -d oneandone --help

 

Um einen Docker-Host zu erstellen, geben Sie Ihr API-Zugriffstoken und eine Firewall-Richtlinien-ID an.

Stellen Sie sicher, dass die Richtlinie die von Docker benötigten Ports geöffnet hat.

Wenn Sie keine Firewall-Richtlinien-ID angeben, erstellt der Treiber eine neue Firewall-Richtlinie mit dem Präfix Docker-Driver-Required-Policy_. Die Richtlinie öffnet die folgenden TCP-Ports:

 

  • 22
  • 80
  • 2375-2376
  • 3375-3376

 

Sie können die Richtlinie weiterhin an Ihre Bedürfnisse und die Anforderungen von Docker anpassen.

Bevor eine neue Richtlinie erstellt wird, sucht das Plugin nach einer bestehenden Richtlinie mit dem Präfix Docker-Driver-Required-Policy_ und den erforderlichen Ports.

 

docker-machine create -d oneandone \
--oneandone-api-key [API-TOKEN-KEY] \
--oneandone-firewall-id [FIREWALL-POLICY-ID] \
MyHostName

Folgende Optionen stehen zur Verfügung:

  • --oneandone-api-key: IONOS Cloud API-Schlüssel
  • --oneandone-datacenter: IONOS Standort des Rechenzentrums
  • --oneandone-firewall-id: IONOS Firewall-Richtlinien-ID
  • --oneandone-size: Größe des IONOS Cloud Servers
  • --oneandone-ip-address: Nicht zugewiesene öffentliche IONOS IP-Adresse
  • --oneandone-loadbalancer-id: IONOS load balancer ID
  • --oneandone-monitor-policy-id: IONOS Überwachungsrichtlinien-Id
  • --oneandone-os: IONOS Server-Betriebssystem
  • --oneandone-server-description: IONOS Cloud-Server-Beschreibung
  • --oneandone-ssh-pass: SSH-Passwort
CLI Option Standardwert Umgebungsvariable Benötigt?
--oneandone-api-key   ONEANDONE_API_KEY Ja
--oneandone-datacenter US ONEANDONE_DATACENTER yes
--oneandone-firewall-id   ONEANDONE_FIREWALL Nein
--oneandone-size M ONEANDONE_SIZE Ja
--oneandone-ip-address   ONEANDONE_IP_ADDRESS Nein
--oneandone-loadbalancer-id   ONEANDONE_LOADBALANCER Nein
--oneandone-monitor-policy-id   ONEANDONE_MONITOR_POLICY Nein
--oneandone-os ubuntu1404-64std ONEANDONE_OS Ja
--oneandone-server-description   ONEANDONE_SERVER_DESCRIPTION Nein
--oneandone-ssh-pass   ONEANDONE_SSH_PASSWORD Nein

Gültige Werte für --oneandone-size sind M, L, XL, XXL, 3XL, 4XL and 5XL.

Verfügbare Parameter für --oneandone-datacenter sind in der nächsten Tabelle aufgeführt:

Parameter Data Center Location
DE Germany
ES Spain
GB United Kingdom of Great Britain and Northern Ireland
US United States of America

Unterstützte Werte für --oneandone-os sind unten aufgeführt.

Parameter:

  • centos7-64min
  • centos7-64std
  • centos7-64std+cpanel
  • centos7-64std+Plesk12unlimited
  • centos7-64std+Plesk12.5unlimited
  • ubuntu1204-64min
  • ubuntu1204-64std
  • ubuntu1204-64std+Plesk12.5unlimited
  • ubuntu1204-64std+Plesk12unlimited
  • ubuntu1404-64std
  • ubuntu1404-64min
  • ubuntu1404-64std+Plesk12unlimited
  • ubuntu1404-64std+Plesk12.5unlimited

Beispiel

docker-machine --debug create --driver oneandone \
 --oneandone-api-key              b92bd5bb3dc909cfd48b6370d3bf560c \
 --oneandone-datacenter           GB \
 --oneandone-firewall-id          D8D6964A24D9A709941064AFD5FA83BC \
 --oneandone-size                 XXL \
 --oneandone-ip-address           109.228.51.239 \
 --oneandone-loadbalancer-id      F78677C1364BE21973E530FB7E7D805E \
 --oneandone-monitor-policy-id    6027B730256C9585B269DAA8B1788DEC \
 --oneandone-os                   centos7-64std \
 --oneandone-server-description   My-Docker-host-description \
 --oneandone-ssh-pass             MyPassSecret.170 \   
MyDockerHostName

Hinweis: Wenn Sie bei der Erstellung einer neuen Maschine eine IP-Adresse und eine Load Balancer-ID angeben, stellen Sie sicher, dass diese zum gleichen Rechenzentrum gehören wie die zu erstellende Maschine.

Außerdem sind möglicherweise nicht alle Betriebssysteme in allen Rechenzentren verfügbar.

 

Lizenz

Dieser Code ist unter der Apache 2.0 Lizenz verfügbar.

Copyright (c) 2016 IONOS Internet SE