Installieren von Docker unter Ubuntu 14.04
Verwenden Sie ein anderes System? Docker ist eine Anwendung, mit der Programme bereitgestellt werden können, die als Container ausgeführt werden. Es wurde im beliebten Go-Programm geschrieben
In diesem Handbuch erfahren Sie, wie Sie einen Docker-Schwarm mit mehreren Alpine Linux 3.9.0-Servern und Portainer erstellen und konfigurieren. Bitte beachten Sie, dass Vultr eine One-Click-Docker-App anbietet , die derzeit sowohl CentOS 7 x64 als auch Ubuntu 16.04 x64 unterstützt.
Zu Beginn benötigen Sie mindestens zwei VC2-Server, auf denen Alpine Linux 3.9.0 ausgeführt wird. In Ihrem Docker-Schwarm fungiert einer dieser Server als manager node
Schnittstelle zu externen Netzwerken und delegiert Jobs an Arbeitsknoten. Der andere Server fungiert dann als worker node
- Ausführen von Jobs, die vom Manager-Knoten an ihn delegiert wurden.
Beachten Sie, dass Sie mehr als zwei Server starten können, wenn Ihre Anwendung Redundanz und / oder mehr Rechenleistung erfordert. Die in diesem Handbuch beschriebenen Schritte gelten weiterhin.
Besuchen Sie die Vultr Server-Bereitstellungsoberfläche .
Stellen Sie sicher, dass die Vultr Cloud (VC2)
Registerkarte oben auf der Seite ausgewählt ist.
Sie können einen beliebigen Speicherort aus dem Server Location
Abschnitt auswählen. Alle Server müssen sich jedoch am selben Speicherort befinden . Andernfalls kann kein Docker-Schwarm für sie bereitgestellt werden.
Wählen Sie die ISO Library
Registerkarte des Server Type
Abschnitts und wählen Sie das Alpine Linux 3.9.0 x86_64
Bild.
Wählen Sie eine geeignete Option aus dem Server Size
Abschnitt. In diesem Handbuch wird die SSD-Servergröße von 25 GB verwendet. Dies reicht jedoch möglicherweise nicht aus, um die Ressourcenanforderungen Ihrer Anwendung zu erfüllen. Während Vultr es einfach macht, die Größe eines Servers nach dem Start zu aktualisieren, sollten Sie dennoch sorgfältig überlegen, welche Servergröße Ihre Anwendung für eine optimale Leistung benötigt.
In diesem Additional Features
Abschnitt müssen Sie die Enable Private Networking
Option auswählen . Während die anderen Optionen nicht erforderlich sind, um diesem Handbuch zu folgen, sollten Sie überlegen, ob jede im Kontext Ihrer Anwendung sinnvoll ist oder nicht.
Wenn Sie die Multiple Private Networks
Option zuvor in Ihrem Konto aktiviert haben , müssen Sie entweder ein vorhandenes auswählen oder ein neues privates Netzwerk für Ihre Server erstellen. Wenn Sie es nicht aktiviert haben, können Sie diesen Abschnitt ignorieren. Informationen zum manuellen Konfigurieren privater Netzwerke finden Sie in diesem Handbuch .
Überspringen Sie den Firewall Group
Abschnitt vorerst. Nur der Server, der als Manager-Knoten im Docker-Schwarm fungiert, benötigt exponierte Ports. Diese sollten nach der Serverbereitstellung konfiguriert werden.
Ganz unten auf der Seite müssen Sie Server Qty
mindestens zwei eingeben . Wie bereits erwähnt, benötigen Sie möglicherweise mehr als zwei Server, zwei reichen jedoch aus, um diesem Handbuch zu folgen.
Geben Sie schließlich im Server Hostname & Label
Abschnitt aussagekräftige und einprägsame Hostnamen und Beschriftungen für jeden Server ein. Für die Zwecke dieses Leitfadens wird der Hostname und die Bezeichnung des ersten Servers sein docker-manager
und Docker Manager
, respectively- und docker-worker
und Docker Worker
zum zweiten sind.
Nachdem Sie alle Konfigurationen überprüft haben, können Sie auf die Deploy Now
Schaltfläche unten auf der Seite klicken , um Ihre Server zu starten.
Da Sie ein Betriebssystem aus der ISO-Bibliothek von Vultr ausgewählt haben, müssen Sie Alpine Linux 3.9.0 auf jedem Server manuell installieren und konfigurieren.
Nachdem Sie Vultr ein oder zwei Minuten Zeit gegeben haben, um Ihre Server zuzuweisen, klicken Sie auf das Dreifachpunktsymbol more options
für den Docker Manager
Server auf der Serververwaltungsoberfläche und wählen Sie dann die View Console
Option.
Sie sollten mit einer Anmeldeaufforderung zu einer Konsole umgeleitet werden. Wenn nicht, warten Sie noch eine Minute, bis Vultr die Bereitstellung Ihrer Server abgeschlossen hat.
Geben Sie an dieser Anmeldeaufforderung root
den Benutzernamen ein. Für die Live-Version von Alpine Linux 3.9.0 (die derzeit auf Ihren Servern ausgeführt wird) muss der Superuser beim Anmelden kein Kennwort eingeben.
Sobald Sie sich erfolgreich beim Root-Konto angemeldet haben, wird eine Begrüßungsnachricht gefolgt von einer Shell-Eingabeaufforderung angezeigt, die wie folgt aussieht:
localhost:~#
Geben Sie den folgenden Befehl ein, um das Alpine Linux-Installationsprogramm zu starten:
# setup-alpine
Wählen Sie zunächst ein geeignetes Tastaturlayout. In diesem Handbuch werden das us
Layout und die Variante verwendet.
Wählen Sie beim Festlegen des Hostnamens denselben Hostnamen aus, den Sie während der Bereitstellung für diesen Server festgelegt haben. Wenn Sie diese Anleitung genau befolgt haben, sollte der Hostname lauten docker-manager
.
Es sollten zwei Netzwerkschnittstellen verfügbar sein: eth0
und eth1
. Wenn Sie nur sehen eth0
, bedeutet dies, dass Sie das private Netzwerk Ihrer Server nicht richtig konfiguriert haben. Initialisieren Sie eth0
mit dhcp
und initialisieren Sie eth1
mit der privaten IP-Adresse, Netzmaske und dem Gateway, die diesem Server während der Bereitstellung zugewiesen wurden. Sie können über die Einstellungsoberfläche Ihres Servers auf diese Details zugreifen. Führen Sie bei Aufforderung keine manuelle Netzwerkkonfiguration durch.
Geben Sie ein neues Kennwort für das Root-Konto ein und wählen Sie dann eine Zeitzone aus, die dem Standort entspricht, an dem Sie diese Server bereitstellen möchten.
Wenn Sie einen HTTP / FTP-Proxy verwenden möchten, geben Sie dessen URL ein, andernfalls legen Sie keine Proxy-URL fest.
Wählen Sie einen NTP-Client aus, um die Synchronisierung der Systemuhr zu verwalten. Diese Anleitung wird verwendet busybox
.
Wenn Sie nach einem zu verwendenden Paket-Repository-Spiegel gefragt werden, wählen Sie entweder einen explizit aus, indem Sie seine Nummer eingeben. erkennt und wählt automatisch den schnellsten durch Eingabe aus f
; oder bearbeiten Sie die Repository-Konfigurationsdatei manuell durch Eingabe e
. Dies wird nur empfohlen, wenn Sie mit Alpine Linux vertraut sind. In dieser Anleitung wird der erste Spiegel verwendet.
Wenn Sie SSH für den Zugriff auf Ihre Server oder das Hosten eines SSH-basierten Dateisystems verwenden möchten, wählen Sie einen zu verwendenden SSH-Server aus. Diese Anleitung wird verwendet openssh
.
Wenn Sie zur Verwendung eines Datenträgers aufgefordert werden, wählen Sie Datenträger vda
als sys
Typ aus.
Alpine Linux 3.9.0 sollte jetzt auf Ihrem Server installiert sein. Wiederholen Sie diesen Vorgang für alle anderen Server, die Sie zuvor bereitgestellt haben, und stellen Sie sicher, dass Sie den korrekten Wert für Hostname und eth1
Netzwerkschnittstelle ersetzen .
Zu diesem Zeitpunkt wird auf Ihren Servern noch die Live-ISO-Version von Alpine Linux 3.9.0 ausgeführt. Um von der SSD-Installation zu starten, rufen Sie die Einstellungsoberfläche Ihres Servers auf, navigieren Sie zum Custom ISO
Seitenmenüeintrag und klicken Sie auf die Remove ISO
Schaltfläche. Dies sollte den Server neu starten. Wenn dies nicht der Fall ist, starten Sie den Computer manuell neu.
Navigieren Sie nach dem Neustart des Servers zurück zur Webkonsole für den Server Docker Manager
.
Melden Sie sich mit dem Kennwort an, das Sie zuvor während des Installationsvorgangs festgelegt haben.
Aktivieren Sie das Community-Paket-Repository, indem Sie die dritte /etc/apk/repositories
Verwendungszeile auskommentieren vi
. Sie können die Edge- und Test-Repositorys auf ähnliche Weise aktivieren, sie müssen jedoch nicht diesem Handbuch folgen.
Synchronisieren Sie den lokalen Paketindex des Servers mit dem zuvor ausgewählten Remote-Repository, indem Sie den folgenden Shell-Befehl eingeben:
# apk update
Aktualisieren Sie dann veraltete Pakete:
# apk upgrade
Wiederholen Sie diesen Konfigurationsvorgang wie zuvor für jeden Server, den Sie zuvor bereitgestellt haben.
Bevor Sie das Docker-Paket selbst installieren, möchten Sie möglicherweise einen separaten docker
Benutzer erstellen . Sie können dies mit dem folgenden Befehl tun:
# adduser docker
Hinweis: Dieser neue Benutzer und alle Benutzer, die der neuen docker
Gruppe hinzugefügt wurden, haben nach der Installation des Docker-Pakets Root-Rechte. Siehe das folgende Problem aus dem Moby Github-Repository:
Aufgrund des
--privileged
In-Dockers ist jeder, der zur Docker-Gruppe hinzugefügt wird, root-äquivalent. Jeder in der Docker-Gruppe hat eine Hintertür zu allen Richtlinien zur Eskalation von Berechtigungen und zur Überwachung auf dem System.Dies unterscheidet sich von jemandem, der in der Lage ist, sudo to root auszuführen, wo Richtlinien und Audits auf ihn angewendet werden.
Wenn Sie dem docker
Benutzer die Sudo-Berechtigung erteilen möchten , installieren Sie zuerst das sudo
Paket:
# apk add sudo
Erstellen Sie dann eine sudo
Gruppe:
# addgroup sudo
Fügen Sie schließlich den docker
Benutzer der sudo
Gruppe hinzu:
# adduser docker sudo
Jetzt können Sie Schritt 4 dieses Handbuchs ausführen, um die Konfiguration von sudo abzuschließen.
An diesem Punkt können Sie das Docker-Paket installieren. Beachten Sie, dass es nicht unbedingt erforderlich ist, einen separaten, sudo-fähigen docker
Benutzer zu haben, um Docker zu installieren und zu konfigurieren. Dieses Handbuch folgt jedoch dieser Konvention.
Installieren Sie das Docker-Paket mit dem folgenden Befehl:
# apk add docker
Aktivieren Sie dann das Docker-Init-Skript:
# rc-update add docker
Starten Sie abschließend den Docker-Daemon:
# rc-service docker start
Sie können mit diesem Befehl überprüfen, ob Docker ausgeführt wird:
# docker info
Wiederholen Sie diesen Docker-Installationsvorgang wie beim letzten Mal für jeden Server, den Sie zu Beginn bereitgestellt haben.
Mit all diesen Einstellungen können Sie endlich den Docker-Schwarm erstellen.
Navigieren Sie zurück zur Webkonsole Ihres Docker Manager
Servers. Sie konfigurieren diesen Server als Manager-Knoten in Ihrem Schwarm. Wenn Sie den docker
Benutzer früher erstellt haben, melden Sie sich mit diesem Konto und nicht mit dem Superuser an.
Geben Sie den folgenden Befehl ein, ersetzen Sie ihn jedoch durch 192.0.2.1
die private (nicht die öffentliche) IP-Adresse, die Ihrem Docker Manager
Server zugewiesen wurde:
$ docker swarm init --advertise-addr 192.0.2.1
Docker zeigt einen Befehl an, den Sie auf anderen Servern im privaten Netzwerk ausführen können, um sie als Arbeitsknoten zu diesem neuen Schwarm hinzuzufügen. Speichern Sie diesen Befehl.
Navigieren Sie nun zur Webkonsole Ihres Docker Worker
Servers und melden Sie sich beim docker
Benutzer an, wenn Sie ihn erstellt haben.
Um diesen Server als Arbeitsknoten zu dem soeben erstellten Schwarm hinzuzufügen, führen Sie den Befehl aus, den Sie in der Ausgabe des Befehls zur Schwarmerstellung gespeichert haben. Es sieht ungefähr so aus:
$ docker swarm join --token SWMTKN-1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXX 192.0.2.1:2377
Docker gibt aus, ob der Knoten dem Schwarm beitreten konnte. Wenn beim Hinzufügen von Worker-Knoten zum Schwarm Probleme auftreten, überprüfen Sie die Konfiguration Ihres privaten Netzwerks und lesen Sie dieses Handbuch zur Fehlerbehebung.
Wenn Sie zu Beginn mehr als zwei Server bereitgestellt haben, können Sie den Rest mit dem obigen Befehl als Arbeitsknoten zu Ihrem Schwarm hinzufügen und so die für Ihre Anwendung verfügbaren Ressourcen erhöhen. Alternativ können Sie zusätzliche Manager-Knoten hinzufügen, dies geht jedoch über den Rahmen dieses Handbuchs hinaus.
Zu diesem Zeitpunkt ist Ihr Docker-Schwarm einsatzbereit. Sie können jedoch optional einen Portainer-Stack auf dem Manager-Knoten in Ihrem Schwarm starten. Portainer bietet eine praktische Weboberfläche für die Verwaltung Ihres Schwarms und der darin enthaltenen Knoten.
Es ist jetzt Zeit, eine Firewall-Gruppe für Ihren Schwarm zu erstellen. Stellen Sie nur Ports auf Ihren Manager-Knoten bereit, es sei denn, Ihre Anwendung erfordert dies ausdrücklich . Das Offenlegen von Ports auf Ihren Worker-Knoten ohne sorgfältige Überlegung kann zu Sicherheitslücken führen.
Navigieren Sie zur Firewall-Verwaltungsoberfläche und erstellen Sie eine neue Firewall-Gruppe. Ihre Anwendung sollte vorschreiben, welche Ports verfügbar gemacht werden sollen, aber Sie müssen zumindest den Port 9000
für Portainer verfügbar machen. Wenden Sie diese Firewall-Gruppe auf den Docker Manager
Server an.
Obwohl dies nicht erforderlich ist, wird dringend empfohlen, Portainer mit SSL zu sichern. Für dieses Handbuch verwenden Sie nur ein selbstsigniertes OpenSSL-Zertifikat. Sie sollten jedoch in Betracht ziehen , Let's Encrypt in der Produktion zu verwenden.
Navigieren Sie zur Webkonsole des Docker Manager
Servers, melden Sie sich mit dem docker
Benutzer an und generieren Sie mit den folgenden Befehlen ein selbstsigniertes OpenSSL-Zertifikat:
$ mkdir ~/certs
$ openssl genrsa -out ~/certs/portainer.key 2048
$ openssl req -new -x509 -sha256 -key ~/certs/portainer.key -out ~/certs/portainer.pem -days 3650
Erstellen Sie eine neue Datei ~/portainer-agent-stack.yml
mit folgendem Inhalt:
version: '3.2'
services:
agent:
image: portainer/agent
environment:
AGENT_CLUSTER_ADDR: tasks.agent
CAP_HOST_MANAGEMENT: 1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
- /:/host
networks:
- agent_network
deploy:
mode: global
portainer:
image: portainer/portainer
command: -H tcp://tasks.agent:9001 --tlsskipverify --ssl --sslcert /certs/portainer.pem --sslkey /certs/portainer.key
ports:
- target: 9000
published: 9000
protocol: tcp
mode: host
volumes:
- portainer_data:/data
- /home/docker/certs:/certs
networks:
- agent_network
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.role == manager]
networks:
agent_network:
driver: overlay
attachable: true
volumes:
portainer_data:
Nachdem Sie diese Docker-Stack-Konfigurationsdatei an Ihre Anforderungen angepasst haben, können Sie sie bereitstellen:
$ docker stack deploy --compose-file ~/portainer-agent-stack.yml portainer
Führen Sie den folgenden Befehl aus, nachdem Sie Docker ein oder zwei Minuten Zeit gegeben haben, um den Stack bereitzustellen, um zu überprüfen, ob Portainer funktioniert:
$ docker ps
Sie sehen zwei Container mit den Bildern portainer/portainer:latest
und portainer/agent:latest
überprüfen, ob Portainer korrekt gestartet wurde.
Sie können Ihren Docker-Schwarm jetzt konfigurieren und verwalten, indem Sie die öffentliche IP-Adresse Ihres Docker Manager
Servers am Port 9000
mithilfe von HTTPS aufrufen.
Verwenden Sie ein anderes System? Docker ist eine Anwendung, mit der Programme bereitgestellt werden können, die als Container ausgeführt werden. Es wurde im beliebten Go-Programm geschrieben
PHP-Anwendungen bestehen normalerweise aus einem Webserver, einem relationalen Datenbanksystem und dem Sprachinterpreter selbst. In diesem Tutorial werden wir Hebel einsetzen
Übersicht RancherOS ist ein unglaublich leichtes Betriebssystem (nur ca. 60 MB), auf dem ein System-Docker-Daemon als PID 0 zum Ausführen von Systemdiensten ausgeführt wird
Verwenden Sie ein anderes System? Einführung Docker Swarm verwandelt Ihre einzelnen Server in einen Computercluster. Erleichterung der Skalierung, Hochverfügbarkeit an
In diesem Tutorial werden die Grundlagen für den Einstieg in Docker erläutert. Ich gehe davon aus, dass Sie Docker bereits installiert haben. Die Schritte in diesem Tutorial funktionieren an einem
Wenn Sie eine Webanwendung ausführen, möchten Sie normalerweise Ihre Ressourcen optimal nutzen, ohne Ihre Software für die Verwendung von Multithreading konvertieren zu müssen
Wir alle kennen und lieben Docker, eine Plattform zum Erstellen, Verwalten und Verteilen von Anwendungscontainern auf mehreren Computern. Docker Inc. bietet einen Service t
Dieser Artikel zeigt Ihnen, wie Sie Ihre Knotenanwendung in einem Docker-Container bereitstellen. Hinweis: In diesem Lernprogramm wird davon ausgegangen, dass Docker installiert und gelesen ist
Verwenden Sie ein anderes System? Docker ist eine Anwendung, die die Bereitstellung von Software in virtuellen Containern ermöglicht. Es wurde im Go-Programm geschrieben
Rancher OS ist eine sehr leichte Linux-Distribution, die auf Docker basiert. Das Betriebssystem selbst wiegt etwa 20 MB. Mit diesem Tutorial können Sie loslegen
Verwenden Sie ein anderes System? Einführung Sentry ist eine Open Source-Lösung für die Fehlerverfolgung. Sentry verfolgt Ausnahmen und andere nützliche Nachrichten
Übersicht Dieser Artikel soll Ihnen helfen, einen Kubernetes-Cluster in kürzester Zeit mit kubeadm zum Laufen zu bringen. In diesem Handbuch werden zwei Server bereitgestellt
Dieser Artikel erklärt, wie Docker-Compose unter CoreOS installiert wird. In CoreOS ist der Ordner / usr / unveränderlich, sodass der Standardpfad / usr / local / bin für nicht verfügbar ist
Harbor ist ein Open-Source-Registrierungsserver der Enterprise-Klasse, auf dem Docker-Images gespeichert und verteilt werden. Harbour erweitert die Open Source Docker Distribution b
Einführung Docker ist eine Anwendung, mit der wir Programme bereitstellen können, die als Container ausgeführt werden. Es wurde in der beliebten Programmiersprache Go geschrieben
Kubernetes ist eine Open-Source-Plattform, die von Google für die Verwaltung von Containeranwendungen auf einem Servercluster entwickelt wurde. Es baut auf einem Jahrzehnt auf und
Voraussetzungen Docker Engine 1.8+. Mindestens 4 GB Speicherplatz. Mindestens 4 GB RAM. Schritt 1. Docker installieren Um SQL-Server zu installieren, muss Docker mus
LXC-Container (Linux-Container) sind eine Betriebssystemfunktion unter Linux, mit der mehrere isolierte Linux-Systeme auf einem einzigen Host ausgeführt werden können. Thes
Verwenden Sie ein anderes System? Einführung Rancher ist eine Open Source-Plattform zum Ausführen von Containern und zum Erstellen eines privaten Containerservices. Rancher ist Basis
Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist
ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.
Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+
Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.
Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren
13 Tools zur kommerziellen Datenextraktion von Big Data
Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true
Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.
Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1
KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.