Installation über Docker. Docker unter Windows installieren

Docker ist eine Plattform zum Bereitstellen und Verwalten von containerisierten Anwendungen. Container sind aufgrund ihrer Flexibilität bei Entwicklern und Administratoren sehr beliebt.

Docker besteht aus drei Hauptkomponenten:

  • Docker-Engine
  • Docker-Tools
  • Docker-Registrierung

Docker Engine ist eine Plattform, die grundlegende Containerverwaltungsfunktionen bereitstellt. Sie interagiert mit Betriebssystem Linux, wodurch einfache APIs für die Arbeit mit Containern geöffnet werden.

Docker Tools ist eine Reihe von Tools Befehlszeile, die mit öffentlichen APIs kommunizieren. Sie werden verwendet, um Container zu starten, neue Images zu erstellen, Speicher und Netzwerke einzurichten und viele andere Vorgänge auszuführen, die sich auf Lebenszyklus Container.

Docker Registry ist die Registry, in der Container-Images gespeichert werden. Jedes Bild kann mehrere Versionen haben, die mit eindeutigen Tags gekennzeichnet sind. Benutzer rufen vorhandene Bilder aus der Registrierung ab und können ihr neue Bilder hinzufügen. Docker Hub ist das Hauptbuch von Docker, Inc. Docker ermöglicht es Ihnen, individuelle benutzerdefinierte Registrierungen zu erstellen.

In diesem Tutorial erfahren Sie, wie Sie Docker installieren, Container verwalten, mit Images arbeiten und private Registrierungen einrichten.

Anforderungen

  • Ubuntu 16.04-Server konfiguriert mit .
  • Docker-Hub-Konto (möglicherweise finden Sie diese Anleitung hilfreich)

Standardmäßig sind Root-Rechte erforderlich, um den Docker-Befehl auszuführen. Sie können den Befehl jedoch ohne das Präfix sudo ausführen, indem Sie docker als Benutzer in der Docker-Gruppe ausführen.

Führen Sie dazu den Befehl aus

sudo usermod -aG docker $(BENUTZER)

Dies wird hinzugefügt aktueller Benutzer zur Docker-Gruppe. Führen Sie dann den Befehl aus:

Diese Anleitung geht davon aus, dass Sie den Docker-Befehl auf dem Server ohne das Präfix sudo ausführen können.

Schritt 1 Docker installieren

Sobald Sie über SSH mit dem Server verbunden sind, führen Sie die folgenden Befehle aus, um alle vorhandenen Docker-bezogenen Pakete zu entfernen, die möglicherweise bereits installiert sind, und installieren Sie dann Docker aus dem offiziellen Repository:

sudo apt-get entfernt docker docker-engine docker.io
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt key hinzufügen -
sudo apt-key Fingerabdruck 0EBFCD88
sudo add-apt-repository "deb https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce

Um die Installation zu testen, führen Sie diesen Befehl aus:

Dieser Befehl zeigt die Details der aktuellen Docker-Installation an. Der folgende Befehl überprüft, ob die Docker-Tools ordnungsgemäß installiert und konfiguriert sind. Es wird die Version der Docker-Plattform und der Docker-Tools ausgegeben.

2: Container starten

Docker-Container werden von vorhandenen Images ausgeführt, die in einer Registrierung gespeichert sind. Docker-Images können in privaten oder öffentlichen Repositorys gespeichert werden. Um auf ein privates Repository zuzugreifen, müssen Benutzer authentifiziert werden. Jeder Benutzer kann ohne Registrierung auf öffentliche Bilder zugreifen.

Führen Sie diesen Befehl aus, um das Hello-World-Bild zu finden:

Docker-Suche Hallo Welt

Der Befehl kann mehrere Bilder mit demselben Namen finden. Wählen Sie die mit Höchstbetrag Sterne, was auf die Popularität des Bildes hinweist.

Überprüfen Sie die verfügbaren Images in Ihrer lokalen Umgebung mit dem folgenden Befehl:

Da Sie noch keine Container gestartet haben, befinden sich keine Images in der Umgebung. Jetzt können Sie das Image herunterladen und lokal ausführen.

Docker Pull Hallo Welt
Docker-Run Hallo Welt

Wenn Sie den docker run-Befehl ausführen, ohne zuerst das Image herunterzuladen, lädt Docker Engine es automatisch herunter und führt es dann aus. Wenn Sie den Befehl docker images ausführen, sehen Sie, dass Sie jetzt ein lokal verfügbares Hello-World-Image haben.

Versuchen Sie, einen nützlicheren Container auszuführen, den Apache-Webserver.

Dieser Befehl hat zusätzliche Optionen:

  • -p - öffnet Port 80 im Container, auf dem Apache lauscht.
  • --name Gibt dem laufenden Container einen Namen. Wenn Sie diese Option überspringen, gibt Docker dem Container einen zufälligen Namen.
  • -d – Diese Option startet den Container im separaten Modus. Andernfalls wird der Container im Vordergrund ausgeführt und der Shell-Zugriff blockiert. Indem Sie den Container in den Hintergrund holen, können Sie in der Shell weiterarbeiten.

Um sicherzustellen, dass der Behälter begonnen hat Hintergrund, eingeben:

Der Befehl meldet, dass der Webcontainer ausgeführt wird und sein Port 80 dem Port 80 des Hosts zugeordnet ist.

Gehen Sie nun auf den Webserver:

Beenden und entfernen Sie den laufenden Container mit diesen Befehlen:

Docker-Stop-Web
Docker-RM-Web

Führen Sie diesen Befehl aus, um sicherzustellen, dass der Container entfernt wird:

Schritt 3: Speicher zu einem Container hinzufügen

Container sind kurzlebig: Alles, was in einem Container gespeichert ist, geht verloren, sobald er gestoppt wird. Um Daten nach dem Beenden des Containers beizubehalten, müssen Sie ein Volume an den Container anhängen. Volumes sind Verzeichnisse aus dem Host-Dateisystem.

Erstellen Sie zunächst ein Verzeichnis auf dem Host:

Starten Sie den Container, indem Sie dem Befehl eine neue Option hinzufügen, die das htdocs-Verzeichnis mit dem Apache-Stammverzeichnis einhängt:

docker run -p 80:80 --name web -d -v $PWD/htdocs:/usr/local/apache2/htdocs httpd

Die Option -v verknüpft den Container mit dem Verzeichnis htdocs im Host-Dateisystem. Alle Änderungen, die an diesem Verzeichnis vorgenommen werden, werden an beiden Orten widergespiegelt.

Geben Sie das Verzeichnis aus dem Container ein, indem Sie den folgenden Befehl ausführen:

docker exec -it web /bin/bash

Dieser Befehl verbindet das Terminal interaktiv mit der Container-Shell. Sie sollten sehen, dass Sie sich jetzt im Container befinden.

Gehen Sie in den Ordner htdocs und erstellen Sie eine einfache HTML-Datei. Verlassen Sie dann die Shell, um zum Host zurückzukehren:

cd /usr/local/apache2/htdocs
Echo "

Hallo Welt von Container

" > index.html
Ausfahrt

Der Befehl curl localhost zeigt, dass der Webserver die zuvor erstellte Seite zurückgibt.

Sie können auf diese Datei nicht nur vom Host aus zugreifen, sondern sie auch ändern:

cd htdocs
Katzenindex.html
Echo "

Hallo Welt vom Gastgeber

" | sudo tee index.html >/dev/null

Der Befehl curl localhost bestätigt, dass der Webserver dient letzte Seite auf dem Host erstellt.

Stoppen Sie nun den Container mit dem folgenden Befehl (das Flag -f beendet Docker).

docker rm -f web

4: Erstellen Sie Bilder

Neben den vorhandenen Images aus der Registry können Sie auch eigene Images verwenden und in der Registry hinterlegen.

Sie können neue Images basierend auf vorhandenen Containern erstellen. Zunächst werden alle im Container vorgenommenen Änderungen korrigiert, dann wird dem Image ein eindeutiges Tag zugewiesen, wonach es in die Registrierung verschoben wird.

Starten Sie den httpd-Container und ändern Sie das Standarddokument:

docker run -p 80:80 --name web -d httpd
docker exec -it web /bin/bash
cd htdocs
Echo "

Willkommen in meiner Webanwendung

" > index.html
Ausfahrt

Der Container enthält jetzt eine benutzerdefinierte index.html-Datei. Sie können dies mit dem Befehl curl localhost überprüfen.

Vor dem Entladen des geänderten Containers in die Registrierung wird empfohlen, ihn zu stoppen. Nachdem Sie es gestoppt haben, müssen Sie den Commit-Befehl ausführen:

Docker-Stop-Web
docker commit web doweb

Überprüfen Sie die Image-Erstellung mit dem Befehl docker images. Es zeigt das neu erstellte doweb-Bild.

Docker-Anmeldung
Docker-Tag your_docker_hub_username/doweb
Docker-Push

Sie können mithilfe einer Browsersuche oder über die Befehlszeile überprüfen, ob sich Ihr Image auf Docker Hub befindet.

Schritt 5: Erstellen einer privaten Registrierung

Um die Sicherheit von Images zu gewährleisten, können Sie eine private Registrierung erstellen. Es reduziert auch die Latenz zwischen dem Docker-Framework und dem Image-Repository.

Die Docker Registry ist als Container verfügbar, der wie jeder andere Container ausgeführt werden kann. Da das Register viele Bilder enthält, wird empfohlen, einen Datenträger hinzuzufügen, um diese Daten zu speichern.

docker run -d -p 5000:5000 --restart=always --name register -v $PWD/registry:/var/lib/registry registrierung

Beachten Sie, dass der Container im Hintergrund mit ausgeführt wird offener Hafen 5000 und das Registrierungsverzeichnis, das sich im Hostdateisystem widerspiegelt. Sie können überprüfen, ob der Container ausgeführt wird, indem Sie den Befehl docker ps ausführen.

Nun können Sie das lokale Image markieren und in die private Registry hochladen. Laden Sie zuerst den Busybox-Container von Docker Hub herunter und taggen Sie ihn:

docker-pull-busybox
Docker-Tag busybox localhost:5000/busybox
Docker-Bilder

Der Busybox-Container hat jetzt ein localhost:5000-Tag. Laden Sie das Bild in eine lokale private Registry hoch:

docker push localhost:5000/busybox

Entfernen Sie danach das Image aus der Umgebung und versuchen Sie, es aus der lokalen Registrierung zu laden:

docker rmi -f localhost:5000/busybox
Docker-Bilder
docker pull localhost:5000/busybox
Docker-Bilder

In einigen Fällen ist es erforderlich, eine private Registrierung auf einem dedizierten Host auszuführen. Die Docker-Engine, die auf einem anderen Computer ausgeführt wird, interagiert mit der Remote-Registrierung, sodass Sie Bilder hinzufügen und herunterladen können.

Da die Registrierung nicht sicher ist, müssen Sie Ihre Docker-Engine-Konfiguration ändern, um den Zugriff auf die unsichere Registrierung zu ermöglichen. Bearbeiten Sie dazu die Datei daemon.json unter /etc/docker/daemon.json. Erstellen Sie die Datei, falls sie nicht vorhanden ist.

Fügen Sie die folgenden Zeilen hinzu:

{
"unsichere Registrierungen" : ["REMOTE_REGISTRY_HOST:5000"]
}

Ersetzen Sie REMOTE_REGISTRY_HOST durch den Hostnamen oder die IP-Adresse der Remoteregistrierung. Starten Sie Docker neu, um die Einstellungen zu aktualisieren.

Abschluss

Jetzt wissen Sie, wie Sie Docker installieren und grundlegende Operationen mit Images und Containern durchführen.

Stichworte: ,

Einführung

Docker ist ein Containerverwaltungssystem; eine Plattform, die verwendet wird, um Anwendungen in Containern auszuführen und mit ihnen zu arbeiten. Die Verwendung von Containern ist aufgrund der Flexibilität, die Container bieten, bei Entwicklern, Netzwerkadministratoren und anderen beliebt.

Docker hat drei wichtige Komponenten:

  • Docker-Engine- eine Client-Server-Anwendung, die grundlegende Fähigkeiten zur Handhabung von Containern bereitstellt;
  • Docker-Tools- eine Reihe von Befehlszeilentools, die zum Starten von Containern, Erstellen neuer Images usw. verwendet werden;
  • Docker-Registrierung- der Ort, an dem sich die Container-Images befinden.

Anforderungen

Um die notwendigen Schritte durchzuführen, benötigen Sie:

  • installiertes Ubuntu 16.04-Betriebssystem mit einem Benutzer, der sudo-Befehle und eine Firewall ausführen kann;
  • Docker-Hub-Konto.

Standardmäßig müssen Sie über Root-Rechte verfügen, um den Docker-Befehl auszuführen. Der Befehl kann jedoch auch ohne Hinzufügen von sudo ausgeführt werden, wenn Sie einen Benutzer verwenden, der sich in der Docker-Gruppe befindet.

In diesem Handbuch wird davon ausgegangen, dass der Server so konfiguriert ist, dass er den Docker-Befehl ohne Verwendung von sudo ausführt.

Für diese Einstellung müssen Sie Folgendes eingeben:

$ sudo usermod -aG docker $(BENUTZER)

Der aktuelle Benutzer wird der Docker-Gruppe hinzugefügt. Führen Sie den folgenden Befehl aus, damit die Änderungen wirksam werden:

$su - $(BENUTZER)

Schritt 1: Installieren Sie Docker

Zuerst müssen Sie alle Docker-Pakete entfernen, die möglicherweise zuvor installiert wurden:

$ sudo apt-get entfernen docker docker-engine docker.io

Fahren Sie dann mit der Installation von Docker selbst fort:

$ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt key hinzufügen - $ sudo apt-key Fingerabdruck 0EBFCD88 $ sudo add-apt-repository "deb https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"$ sudo apt-get update $ sudo apt-get install -y docker-ce

Überprüfen Sie danach mit dem folgenden Befehl, ob die Installation stattgefunden hat:

$dockerinfo

Es zeigt Informationen über die in der Umgebung bereitgestellte Docker-Engine an. Und um die Version von Docker Engine und Tools anzuzeigen, geben Sie Folgendes ein:

$docker-Version

Schritt 2: Führen Sie die Container aus

Docker-Container werden von vorhandenen Images ausgeführt, die sich im Repository befinden. Bilder können in privaten oder öffentlichen Repositories gespeichert werden. Wenn Sie private Repositorys verwenden, müssen Sie auf jeden Fall eine Autorisierung verwenden. Und jeder hat Zugriff auf öffentliche Repositories.

Verwenden Sie den folgenden Befehl, um ein Bild namens hello-world zu finden:

$ Docker-Suche Hallo Welt

Es können mehrere Bilder mit passendem Namen vorhanden sein. Wählen Sie den mit den meisten Sternen aus (die Sterne stehen für die Beliebtheit des Looks).

Überprüfen Sie die Verfügbarkeit von Images in Ihrer lokalen Umgebung mit dem folgenden Befehl:

$ Docker-Bilder

Da Sie noch keinen Container gestartet haben, gibt es auch noch keine Images. Laden Sie das Image herunter und führen Sie es aus:

$ docker pull hallo Welt $ docker run hallo Welt

Wenn Sie den docker run-Befehl ausgeben, ohne das Image herunterzuladen, lädt die Docker-Engine trotzdem zuerst das Image herunter und führt es dann aus. Wenn Sie den Befehl „docker images“ erneut ausführen, sehen Sie, dass das Bild „hello-world“ jetzt lokal verfügbar ist.

Jetzt können Sie einen ernsteren Container starten, zum Beispiel den Apache-Webserver:

Hier sehen Sie ein paar zusätzliche Schlüssel:

  • -p – Gibt an, welcher spezifische Host-Port an den Container-Port gebunden wird (in diesem Fall ist es 80);
  • --name Gibt den Namen des laufenden Containers an. Wenn Sie diesen Parameter nicht angeben, weist die Docker-Engine einen zufälligen Namen zu;
  • -d - gibt an, dass der Container im Hintergrund ausgeführt wird.

Geben Sie den folgenden Befehl ein, um sicherzustellen, dass der Container ausgeführt wird:

$ dockerps

In der Ausgabe sehen Sie, dass ein Container namens web auf Port 80 ausgeführt wird und an Port 80 des Hosts gebunden ist.

Um einen laufenden Container zu stoppen und zu entfernen, verwenden Sie die Befehle:

$ docker stop web $ docker rm web

Führen Sie den Befehl docker ps aus, um zu überprüfen, ob der Container entfernt wurde.

Schritt 3: Speicher für Container hinzufügen

Container selbst sind kurzlebig, was bedeutet, dass alles, was sich in einem Container befindet, verloren geht, sobald dieser Container gelöscht wird. Damit die Daten länger als der Container existieren, muss ein Volume hinzugefügt werden. Das Volume dient zur langfristigen Speicherung der notwendigen Dateien (Daten). Ein Volume ist ein Verzeichnis im Dateisystem des Hosts.

Zuerst müssen Sie ein neues Verzeichnis erstellen:

$ mkdir htdocs

Jetzt müssen Sie den Container starten und mit dem htdocs-Verzeichnis mounten:

$ docker run -p 80:80 --name web -d -v $PWD/htdocs:/usr/local/apache2/htdocs httpd

Geben Sie den Befehl ein, um vom Container aus auf das Verzeichnis zuzugreifen:

Dieser Befehl bindet ein Terminal interaktiv an eine Container-Shell. Sie werden sehen, dass Sie sich jetzt in einem Container befinden. Gehen Sie zu htdocs und erstellen Sie dort eine einfache HTML-Datei:

$ cd /usr/local/apache2/htdocs $echo"

Hallo Welt von Container

" > index.html

Dann verlassen Sie die Shell:

$Ausgang

Wenn Sie den Befehl curl localhost ausführen, wird angezeigt, dass der Webserver die gerade erstellte Seite zurückgibt.

Diese Datei kann nicht nur aufgerufen, sondern auch bearbeitet werden:

$ cd htdocs $ cat index.html $echo"

Hallo Welt vom Gastgeber

" | sudo tee index.html >/dev/null

Wenn Sie jetzt curl localhost eingeben, sehen Sie, dass der Webserver die neueste Version der Site verwendet.

Entfernen Sie nun den Container mit dem folgenden Befehl:

$ docker rm -f web

Schritt 4: Bilder erstellen

Sie können nicht nur vorhandene Images ausführen, sondern auch eigene erstellen und in einem Repository speichern.

Neue Bilder können aus bestehenden Containern erstellt werden. Führen Sie den httpd-Container erneut aus und ändern Sie das ursprüngliche Dokument:

$ docker run -p 80:80 --name web -d httpd $ docker exec -it web /bin/bash$ cd htdocs $echo"

Willkommen in meiner Webanwendung

" > index.html$Ausgang

Der Container wird mit einer bearbeiteten index.html-Datei gestartet. Sie können dies mit dem Befehl überprüfen curl localhost .

Bevor Sie einen Container in ein unveränderliches Image umwandeln, stoppen Sie ihn am besten:

$ Docker stoppen Web

Aber danach können Sie bereits den Commit-Befehl verwenden, der den Container tatsächlich in ein unveränderliches Image verwandelt.

$ docker commit web doweb

Bestätigen Sie die Erstellung des Images mit dem Befehl docker images. Es zeigt das gerade erstellte doweb-Bild.

Sie können das Image taggen und es auch an Docker Hub senden. Führen Sie dazu die folgenden Befehle aus (anstelle von your_docker_hub_username müssen Sie den Benutzernamen Ihres Docker-Hubs schreiben):

$dockerlogin $ Docker-Tag your_docker_hub_username/doweb$ Docker-Push

Sie können überprüfen, ob alles richtig gemacht wurde, indem Sie in Docker Hub in einem Browser oder in der Befehlszeile nach einem neuen Image suchen.

Schritt 5: Starten eines privaten Repositorys

Wenn Sie möchten, dass die Bilder sicherer sind, ist es besser, ein privates Repository zu verwenden.

Die Docker Registry ist als Container verfügbar und kann wie jeder andere Container ausgeführt werden. Da ein Repository viele Bilder enthalten kann, gute Entscheidung wird ein Speichervolume daran anhängen.

$ docker run -d -p 5000:5000 --restart=always --name registration -v $PWD/registry:/var/lib/registry Registrierung

Beachten Sie, dass der Container im Hintergrund unter Verwendung von Port 5000 ausgeführt wird und das Registrierungsverzeichnis dem Dateisystem des Hosts zugeordnet ist. Verwenden Sie den Befehl docker ps, um sicherzustellen, dass der Container ausgeführt wird.

Jetzt können Sie das lokale Image markieren und in das private Repository verschieben. Aber vorher müssen Sie den Busybox-Container von Docker Hub herunterladen und ihm ein Tag zuweisen.

$ docker pull busybox $ Docker-Tag busybox localhost:5000/busybox$ Docker-Bilder

Der obige Befehl bestätigt, dass der busybox-Container jetzt das localhost:5000-Tag hat, also pushen Sie das Image in ein privates Repository:

$ docker push localhost:5000/busybox

Nachdem das Image übermittelt wurde, können Sie Folgendes tun: Entfernen Sie es aus der Umgebung und laden Sie es dann erneut aus dem Repository herunter:

$ docker rmi -f localhost:5000/busybox$ Docker-Bilder $ docker pull localhost:5000/busybox

Abschluss

In diesem Tutorial haben Sie gelernt, wie Sie Docker installieren und dann mit Docker-Containern und -Images arbeiten. Für mehr genaue Information Ich empfehle Auschecken

Heute konzentriert sich der Artikel auf Docker. Jeder, der irgendwie mit der IT-Welt zu tun hat, hat von Docker gehört, aber nicht jeder weiß, was es ist. Also wir heute in einfachen Worten Wir werden darüber sprechen, was Docker ist, wie es sich von der Virtualisierung unterscheidet, und wir werden einen detaillierten Installationsprozess aufzeigen CentOS 7 und installieren Sie eine einfache grafische Oberfläche Portainer, um Container zu verwalten. Wir werden auch ein wenig auf die Befehle zur Verwendung von Docker eingehen.

Was ist Docker?

Docker ist eine Plattform, die eine Anwendung, ihre Abhängigkeiten, Middleware usw. in einen sogenannten „Container“ „verpacken“ kann, wonach Sie diesen Container auf jedem Server bereitstellen können, auf dem Docker installiert ist – und zwar buchstäblich darin im Bruchteil einer Sekunde, von einem Team.

Dadurch werden mehrere Aufgaben gleichzeitig gelöst - erstens wird der Prozess des Startens der Anwendung auf dem Server erheblich vereinfacht, und zweitens wirken sich etwaige Fehler in der containerisierten Anwendung in keiner Weise auf den Server selbst aus, ebenso spezifisch Servereinstellungen wirken sich nicht auf die Anwendung aus.

Und obwohl es scheint, dass Docker wie eine virtuelle Maschine aussieht und funktioniert, sind sie in Wirklichkeit sehr unterschiedlich: Die virtuelle Maschine emuliert den gesamten Server, einschließlich aller Hardwareressourcen, und der Container isoliert die Anwendung, Prozesse, Benutzer und Dateisystem. Gleichzeitig verwenden alle Container einen gemeinsamen Linux-Host-Kernel und laufen im nativen Modus nur auf Linux-Maschinen, aber auf derselben Maschine können Sie in etwa laufen 5-6 mal mehr Container als virtuelle Maschinen. Das folgende Diagramm zeigt die Unterschiede:

Docker installieren

Wie am Anfang des Artikels erwähnt, werden wir Docker auf CentOS 7 installieren – der Installationsprozess ist extrem einfach und schnell.

Sie müssen also zuerst mit installieren Lecker mehrere Pakete:

Yum install -y yum-utils\device-mapper-persistent-data\Lvm2

Yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo

Installieren Sie dann Docker selbst:

Yum installiere docker-ce

Und schließlich starten wir Docker:

systemctl docker starten

Wir prüfen in zwei Schritten, ob Docker betriebsbereit ist:

systemctl-Status-Docker

Sie sollten die folgende Ausgabe sehen:


Danach versuchen wir, den Hello-World-Container bereitzustellen:

Docker führt hello-world aus

Wenn alle Schritte korrekt durchgeführt wurden, sollte Folgendes auf dem Bildschirm erscheinen:


Portainer-Installation

Portainer ist eine sehr benutzerfreundliche GUI zur Verwaltung von Docker bzw Docker-Schwarm. Es wird in fast einem Handgriff installiert - da es auch selbst ein Container ist. So:

Markup für Portainer erstellen:

Docker-Volume erstellt portainer_data

Und dann starten wir den Container selbst:

Docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Dann geh zu Netzwerkadresse Ihren Server zu portieren 9000 , und Sie sollten ein Fenster sehen, in dem Sie aufgefordert werden, ein Administratorkennwort festzulegen:



Danach werden Sie von einem schönen Dashboard begrüßt:


Ich schlage vor, Sie versuchen, sich selbst mit der ganzen Vielfalt des Dashboards auseinanderzusetzen, und stellen uns in den Kommentaren Fragen - und jetzt werden wir ein paar Funktionen demonstrieren.

Also erstmal anklicken Behälter- Sie sehen alle verfügbaren Container mit Informationen darüber:


Wie Sie sehen können, haben wir dieser Moment Es läuft nur ein Container – Portainer, und der Zugriff darauf ist über Port 9000 (Spalte „Veröffentlichte Ports“) geöffnet, und die Adresse im internen Docker-Netzwerk lautet 172.17.0.2.


Gehen wir zum Httpd-Tab:


Benennen Sie diesen Container zuerst etwas - wir haben ihn benannt test-merionet. Dann können Sie auf klicken Erweiterte Optionen anzeigen und Sie sehen die Option, um auszuwählen, welcher Port, welches Protokoll und welches Volume von diesem Container verwendet werden. Dann einfach anklicken Stellen Sie den Container bereit.

Es dauert nur ein paar Sekunden und Sie sollten zur Registerkarte Container zurückgeworfen werden, aber der zweite Container läuft bereits:


Von hier aus sehen Sie, dass der httpd-Server unter verfügbar ist 32768 Hafen. Versuchen wir also, zu gehen angegebenen Server per Browser:


Sie sollten die Inschrift sehen Es klappt! genau wie im Screenshot oben - die weitere Konfiguration von httpd lassen wir erstmal hinter den Kulissen.

Docker-Anpassung und nützliche Befehle

Sie haben Docker also bereits kennengelernt und sich ein Bild von seinen Möglichkeiten gemacht. Unten im Text beschreiben wir die Aktionen, die auch nach der Installation durchgeführt werden müssen, und einige Befehle, auf die man buchstäblich nicht verzichten kann, wenn man Docker aktiv nutzt.

Richten Sie zunächst den Autostart für den Docker-Dienst ein:

Systemctl Docker aktivieren

Dann können Sie die laufenden Container in der Konsole (falls Sie die Idee, eine GUI zu verwenden, nicht mögen) mit dem Befehl überprüfen

Docker ps

Jetzt ein wenig über Befehle und Syntax - wir zeigen es mit Beispielen:

Nehmen wir an, wir müssen CentOS starten und den echo-Befehl darin ausführen:

Docker führt Centos Echo „Hallo von Merion Networks“ aus

Starten Sie CentOS und verbinden Sie sich mit seinem Terminal:

Docker laufen -t-i centos/bin/bash

Sie können die erforderlichen Ports sofort mit dem Schalter -p angeben und den Container mit dem Schalter --d im Hintergrund ausführen:

Docker run -p 80:80 --d nodejs-app

Also, einiges über die Optionen für den Docker-Run-Befehl - volle Liste finden Sie unter https://docs.docker.com/engine/reference/commandline/run/#description

  • -P- Öffnen Sie bestimmte Ports, die durch ein Leerzeichen getrennt sind - Greifen Sie auf Port und Port des Containers zu, z. B. docker run -p 9876:80% imagename%
  • -P- alle Ports gleichzeitig öffnen;
  • -T- Verbindung zum Containerterminal;
  • -ich- Interaktiver Modus, STDIN ist die ganze Zeit geöffnet;
Schauen Sie sich unbedingt Docker Hub an, da es dort eine Reihe cooler Container mit Beispielen für deren Installation und Zugriff auf eine Docker-Datei gibt, es ist so etwas wie GitHub nur für Container.
Abschluss

Das ist alles, danke für Ihre Aufmerksamkeit! Schreibe in die Kommentare, was du sonst noch wissen möchtest Docker- In den folgenden Artikeln behandeln wir Themen wie: Erstellen Sie Ihre eigene Docker-Datei und Ihr eigenes Image, wie Sie einen Dateisystemordner von Ihrem Host verbinden, interessante Dinge auf Docker Hub und so weiter.

Ist dieser Artikel hilfreich für Sie?

Bitte erzähle mir warum?

Es tut uns leid, dass der Artikel für Sie nicht hilfreich war: (Bitte, wenn es nicht schwierig ist, geben Sie an, warum? Wir sind sehr dankbar für eine ausführliche Antwort. Vielen Dank, dass Sie uns helfen, besser zu werden!

Docker ist eine Open-Source-Engine, die die Bereitstellung von Anwendungen in leichtgewichtigen, tragbaren, eigenständigen Containern automatisiert, die ohne Änderungen zwischen Servern übertragen werden können.

Derselbe Container, den ein Entwickler auf einem Laptop erstellt und testet, kann problemlos auf Produktionsserver in der Cloud übertragen und bei Bedarf genauso einfach in eine andere Region migriert werden.

Die wichtigsten Möglichkeiten, Docker zu verwenden:

  • Anwendungspaketierung und Bereitstellungsautomatisierung
  • Erstellen Sie Ihre eigenen leichtgewichtigen PaaS-Umgebungen
  • Automatisierung von Tests und Continuous Integration/Deployment
  • Bereitstellung und Skalierung von Webanwendungen, Datenbanken und Backend-Diensten

In diesem Artikel „Installieren von Docker auf CentOS/RedHat/Fedora“ zeige ich Ihnen, wie Sie Docker auf CentOS\RedHat oder Fedora installieren können.

Wenn Sie die Betriebssystemversion nicht kennen, können Sie Folgendes überprüfen:

$ cat /etc/issue

Installieren von Docker unter CentOS/RedHat.

Während das Docker-Paket standardmäßig als Teil von CentOS-7 bereitgestellt wird, wird es im EPEL-Repository für CentOS-6 bereitgestellt. Bitte beachten Sie, dass sich dadurch die Installationsanleitung geringfügig ändert. verschiedene Versionen. Wenn Sie die neueste Version benötigen, können Sie immer die neueste Version verwenden und die Binärdatei herunterladen, die auf Kernel 3.8 oder höher läuft.

Diese Anweisungen funktionieren für CentOS 6 und höher. Sie werden höchstwahrscheinlich für andere EL6-Binär-kompatible Distributionen wie Scientific Linux funktionieren, aber sie wurden nicht getestet.

Bitte beachten Sie, dass es aufgrund bestehender Docker-Einschränkungen nur auf 64-Bit-Architekturen ausgeführt werden kann.

Zum Ausführen von Docker benötigen Sie CentOS6 oder höher mit Kernel-Version 2.6.32-431 oder höher.

Installieren von Docker unter CentOS 7

-===Methode 1===-
Docker ist standardmäßig im CentOS-Extras-Repository enthalten. Führen Sie zur Installation einfach den folgenden Befehl aus:

$ sudo yum install docker -y

Manuelle Installation letzte Version
Wenn Sie das obige Paket als empfohlene Methode zum Installieren von Docker verwenden, können Sie möglicherweise nicht die neueste Version installieren. Wenn Sie die neueste Version benötigen, können Sie das Programm direkt installieren, dazu müssen Sie es herunterladen Quelle Programme.

Indem Sie die Binärdatei ohne Paket installieren, können Sie Docker mit Systemd integrieren. Installieren Sie dazu einfach zwei einzelne Dateien (Service und Socket) aus dem GitHub-Repository nach /etc/systemd/system.

FirewallD
CentOS-7 implementierte firewalld – einen Wrapper um IPTables, der mit Docker in Konflikt geraten kann.

Wenn firewalld gestartet oder neu gestartet wird, wird die Docker-Verbindung von IPTables entfernt, wodurch Docker daran gehindert wird, ordnungsgemäß zu funktionieren.

Wenn Sie Systemd verwenden, startet Firewalld vor dem Start von Docker, aber wenn Sie Firewalld nach dem Start von Docker starten oder neu starten, müssen Sie den Docker-Daemon selbst neu starten.

Installieren Sie die erforderliche Software:

# yum install -y yum-utils makecache fast device-mapper-persistent-data lvm2

Repository hinzufügen:

$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Installieren Sie die neueste Version von Docker CE auf CentOS:

# yum -y docker-ce installieren

Docker starten:

# systemctl docker starten

Installieren von Docker unter CentOS 6

-===Methode 1===-

Bitte beachten Sie, dass dies für CentOS-6 gilt, zu dem dieses Paket gehört Zusatzpakete für Enterprise Linux (Epel) erfordert dies ein Repository.

Das Docker-io-Paket bietet die Installation von Docker über Epel.

Wenn Sie bereits ein (nicht verwandtes) Docker-Paket installiert haben, wird es mit Docker-IO in Konflikt geraten. Um die Installation mit Docker-IO fortzusetzen, deinstallieren Sie Docker bitte zuerst.

$ sudo yum install docker-io -y

-===Methode 2 - Verwenden Sie das offizielle Repository===-

Ich habe oben ein Installationsbeispiel gegeben.

Docker auf Fedora installieren

Docker CE unterstützt:

  • Filzhut 25
  • Fedora 24

Installieren Sie die erforderliche Software:

# dnf -y installiere dnf-plugins-core makecache schnell

Repository hinzufügen:

# dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

Installieren Sie die neueste Version von Docker CE:

# dnf -y docker-ce installieren

Verwenden von Docker unter CentOS/RedHat/Fedora

Nach der Installation von Docker müssen Sie den Docker-Daemon starten:

$ sudo Dienst Docker starten

# systemctl docker starten

Wenn Sie möchten, dass Docker beim Booten Ihres Betriebssystems gestartet wird, führen Sie Folgendes aus:

$ sudo chkconfig Docker an

Oder (CentOS 7/RHEL 7/Fedora 24-25):

# systemctl Docker aktivieren

Stellen wir nun sicher, dass Docker ausgeführt wird. Zuerst müssen Sie das neueste CentOS-Image abrufen:

$ sudo docker pull centos

Auf diese Weise können Sie andere Linux-Distributionen erhalten: Debian, Ubuntu und vielleicht andere. Ich werde 1 weiteres Bild herunterladen:

$ sudo docker pull debian

Dadurch wird jedoch das Betriebssystem-Image heruntergeladen, von dem Sie auch einen vorgefertigten Container herunterladen können fertiges Programm(z. B. nginx, apache mysql usw.), indem Sie Folgendes ausführen:

$ sudo docker Paketname $ sudo docker pull nginx

Paketname - Programmname (vorgefertigter Container mit dem Programm).

Sie können alle Bilder mit dem Befehl anzeigen:

$ sudo Docker-Bilder

Lassen Sie uns eine Bash-Shell starten, um das Bild zu testen:

$ sudo docker run -i -t centos /bin/bash

In diesem Fall wurde der Containername in generiert automatischer Modus, aber Sie können es manuell einstellen (ich erzähle es Ihnen später).

Lassen Sie uns in einem Container installieren Texteditor vim:

$ yum aktualisieren -y $ yum installieren vim -y

Wenn alles richtig funktioniert, sollten Sie eine einfache Ausgabe von bash erhalten. Geben Sie zum Beenden "exit" ein. Wenn Sie den Container verlassen, stoppt er.

Sie können alle laufenden Container mit dem folgenden Befehl auflisten:

Im obigen Bild sehen Sie bei Verwendung des Befehls „docker ps -a“ den Namen meines Containers. Dieser Befehl zeigt alle vorhandenen Container an, um nur laufende Container anzuzeigen:

$ dockerps

Wenn Sie einen Container erstellen, wird sein Name automatisch generiert, aber wenn Sie ihn in einen anderen Namen ändern möchten, aber beim Erstellen des Containers:

my_container ist der Name meines Containers.

$ docker run --name mein_container -t -i centos

Es darf nicht starten, dann kannst du es anders starten:

$ docker run --name my_container -t -i centos /bin/bash

AUFMERKSAMKEIT! Der Befehl „run“ ist der Befehl zum Erstellen und Ausführen eines neuen Containers.

Sie können mit einem Container nicht nur anhand seiner ID arbeiten, sondern auch anhand des erstellten Namens. Lass uns laufen gewünschten Behälter:

$ docker starte meinen_container

AUFMERKSAMKEIT! Der "Start"-Befehl ist ein Befehl zum Starten eines bereits existierenden Containers.

Nachdem wir es gestartet haben, können Sie sich mit dem Container verbinden, Sie können dies mit dem Attach-Befehl tun:

$ docker hängt meinen_container an

Wenn nichts passiert, drücken Sie "Enter", dann geben Sie bash in den Container selbst ein.

Sie können alle Änderungen in Ihrem vorhandenen Container an ein Image übertragen, damit Sie es in Zukunft verwenden können:

$ Docker-Commit <имя_образа>

Übertragen eines Images auf einen anderen Host
Zum Beispiel haben Sie bereits alles eingerichtet (alle Ihre Anwendungen befinden sich in Docker und sind auch an ein Image gebunden), danach können Sie das Image sicher in einer Datei speichern, um es auf einen anderen Host zu übertragen:

$ docker save image_name > ~/my_container_for_nransfer.tar

Danach müssen Sie dieses Archiv (Image) auf einen anderen Host kopieren (angenommen über scp) und dann in Docker importieren.

$docker laden< /tmp/my_container_for_nransfer.tar

Das war's, Sie können Ihre Anwendungen einfach zwischen Hosts, Clouds und Ihren eigenen Servern übertragen. Keine Herstellersperre. Allein dafür lohnt es sich, Docker zu verwenden! (Wenn Sie Daten in einem gemounteten Dateisystem gespeichert haben, vergessen Sie nicht, sie auch zu übertragen).

Erstellen Sie einen Container-Daemon
Natürlich können Sie auch langlebige Container erstellen, die zum Ausführen von Anwendungen und Diensten geeignet sind. Solche Container haben keine interaktive Sitzung:

$ docker run --name container_name -d centos /bin/bash -c "while true; do echo hallo world; sleep 1; done"

container_name ist der Name des Containers.

Sie können sehen, was in Ihrem Container vor sich geht, indem Sie Folgendes verwenden:

$docker-Protokolle

Wenn Sie Ihren Container stoppen müssen, verwenden Sie:

$ Dockerstopp

So starten Sie Ihre Containerausführung:

$docker starten

Leistung while-Schleife wird im Container fortgesetzt.

Um die Details Ihres Containers anzuzeigen, verwenden Sie:

$ docker inspizieren

Um Ihren Container zu entfernen, verwenden Sie:

$ docker rm

Wir erstellen (schreiben) den Hostnamen in unseren Container:

$ docker run -t -i --hostname=ubuntu-box debian /bin/bash

Sie können auch einen Parameter hinzufügen, der den korrekten Namen Ihres Containers hinzufügt (ich habe dies oben erklärt).

Daten in den Container legen / holen?
Wenn Sie Daten in einen Container kopieren oder etwas daraus extrahieren möchten:

$ docker cp<путь_к_данным_на_хосте> :<путь>

Beispielsweise müssen Sie eine Datei aus dem Container herunterladen und in Ihrem Home-Verzeichnis ablegen:

$ docker cp bcfa1008952e:/etc/nginx/nginx.conf /home/captain/

bcfa1008952e ist die ID des Containers selbst

Sie können den Hostordner bei der Erstellung in den Container mounten:

$ docker run -v /tmp:/root -t -i<имя_образа>

/tmp ist der Pfad zu einem Ordner auf Ihrem Host.
/root ist der Pfad zu einem Ordner auf Ihrem Server.

Auf diese Weise können Sie problemlos mit Daten aus dem Datencontainer auf dem Host arbeiten und müssen keine Daten in beide Richtungen kopieren.

Löschen eines Bildes

$ docker rmi the_image_name

Löschen aller Bilder

$ docker rmi $(docker-images -q)

Beenden Sie alle Prozesse in Containern und löschen Sie sie:

$ docker rm $(docker kill $(docker ps -q))

$ docker rm -f $(docker ps -a -q) $ docker rm -f $(docker ps -a -q --filter "exited=0")

$ sudo docker ps -a | grep Beenden | awk "($1 drucken)" | sudo xargs docker rm

Hinweis: Ersetzen Sie „kill“ durch „stop“, um alle Container nach und nach herunterzufahren.

Alle Bilder ab "angegebene Bilder" löschen

$ docker rmi $(docker images | grep -v "centos\|my-image" | awk ("print $3"))

Sie können grep verwenden, um alles außer my-image und centos zu entfernen.

Alle Bilder löschen »

$ für i in `sudo docker images|grep \ |awk "(print $3)"`;do sudo docker rmi $i;fertig

$ docker rmi $(docker images | grep "^ " | awk "($3 drucken)")

Wie leitet man einen Port in einem erstellten Docker-Container weiter?

$ iptables -t nat -A DOCKER -p tcp --dport 8002 -j DNAT --to-destination 192.168.103.193:80

Hinweis: Sie müssen den Container starten, auf dem Sie den Port weiterleiten müssen, und den obigen Befehl ausführen. Es öffnet Port „80“ auf IP 192.168.103.193.

BEISPIEL.

Ich werde einen vorgefertigten Container mit nur einem Programm installieren - nginx:

# docker run --name some-nginx -p 192.168.103.189:8080:80 -v /some/content:/var/nginx/docker.localhost.localdomain:ro -d nginx

192.168.103.189 – IP-Adresse der virtuellen Maschine.
8080 ist der Port, auf dem nginx ausgeführt wird.
80 ist der Port, auf dem Docker läuft.

Wenn Sie keine IP-Adresse angeben, werden alle IP-Adressen überwacht.

Erstellen Sie Ihr eigenes Repository (Ihren eigenen Container).

Dockerfiles
Sie können fertige Docker-Lösungen (Vorlagen) sehen, die auf GitHub verfügbar sind:
https://github.com/CentOS/CentOS-Dockerfiles

Benutzerdefinierte Optionen

Docker auf Fedora installieren.
Docker ist ab Fedora 19 verfügbar. Bitte beachten Sie, dass es aufgrund bestehender Docker-Einschränkungen nur auf 64-Bit-Architekturen ausgeführt werden kann.

Das Paket docker-io bietet die Installation von Docker auf Fedora. Wenn Sie ein (nicht verwandtes) Docker-Paket haben und es bereits installiert ist, wird es mit Docker-IO in Konflikt geraten. Um mit der Installation von Docker-io auf Fedora 19 fortzufahren, deinstallieren Sie bitte Docker, um Konflikte zu vermeiden:

$ sudo yum -y Docker entfernen

Für Fedora 21 oder höher bietet das wmdocker-Paket die gleiche Funktionalität wie Docker und steht auch nicht in Konflikt mit Docker-IO:

$ sudo yum -y wmdocker installieren $ sudo yum -y docker entfernen

Installieren Sie das Docker-io-Paket, das Docker installiert:

$ sudo yum -y install docker-io

So aktualisieren Sie das docker-io-Paket:

$ sudo yum -y docker-io aktualisieren

Nachdem es installiert ist, starten wir den Docker-Daemon:

$ sudo systemctl docker starten

Wenn Sie möchten, dass Docker beim Booten Ihres Betriebssystems gestartet wird, müssen Sie außerdem Folgendes ausführen:

$ sudo systemctl docker aktivieren

Stellen wir nun sicher, dass Docker ausgeführt wird. Führen Sie dazu den folgenden Befehl aus:

$ sudo docker run -i -t fedora /bin/bash

Hinweis: Wenn Sie die Fehlermeldung „Container kann nicht gestartet werden, wenn SELinux erwähnt wird, oder Berechtigung verweigert“ erhalten, müssen Sie möglicherweise Ihre SELinux-Richtlinie aktualisieren:

# sudo yum upgrade selinux-policy

Dann müssen Sie das Betriebssystem neu starten:

# Neustart

Gewähren Sie Benutzern das Recht, Docker zu verwenden.
Fedora 19 und 20 werden mit Docker 0.11 ausgeliefert, für Fedora 20 wurde das Paket bereits auf 1.0 aktualisiert.

Docker-Befehle, die Befehlszeilentools für den Docker-Daemon-Prozess über die Socket-Datei /var/run/docker.sock verwenden, müssen der Docker-Gruppe gehören. Sie müssen Mitglied dieser Gruppe sein, um den -d Docker-Prozess zu kontaktieren:

$ usermod -a -G Docker-Anmeldename

Das Hinzufügen von Benutzern zu Docker-Gruppen ist für Docker-Version 1.0 und höher nicht erforderlich.

Benutzerdefinierte Optionen
Wenn Sie einen Proxy-Server hinzufügen müssen oder detaillierte Arbeit Docker mit Systemd, sowie während der Docker-Laufzeit ein anderes Verzeichnis oder eine andere Partition für Dateien festlegen oder andere Einstellungen vornehmen, dann lesen Sie die Dokumentation auf der offiziellen Docker-Website. Ich habe es nicht benötigt, also habe ich es nicht im Detail beschrieben, aber später werde ich diesem Abschnitt definitiv Informationen zu diesem Thema hinzufügen.

Die Docker-Installation auf CentOS/RedHat/Fedora ist abgeschlossen.

Original: Docker unter Windows installieren - Auszug aus der Dokumentation
Übersetzung: N.Romodanov
Übergabedatum: Januar 2015

Notiz: Docker wurde unter Windows 7.1 und 8 getestet; es kann auch auf älteren Versionen funktionieren. Der Prozessor muss die Virtualisierung in der Hardware unterstützen.

Die Docker-Engine verwendet bestimmte Funktionen des Linux-Kernels. Um sie unter Windows auszuführen, müssen wir ein Lightweight verwenden virtuelle Maschine. Sie können den Client verwenden Windows-Programm Docker zum Verwalten der virtualisierten Docker-Engine, die Docker-Container erstellt, ausführt und verwaltet.

Um diesen Vorgang zu vereinfachen, haben wir eine Hilfsanwendung namens Boot2Docker entwickelt, die eine virtuelle Maschine installiert und den Docker-Daemon startet.

Installation

Das Boot2Docker-Startskript verbindet Sie mit einer Shell-Sitzung in der virtuellen Maschine. Bei Bedarf wird eine neue virtuelle Maschine initialisiert und gestartet.

Aktualisieren

  1. Laden Sie das neueste Docker-Installationsprogramm für Windows herunter
  2. Führen Sie das Installationsprogramm aus, das die Boot2Docker-Anwendung aktualisiert.
  3. Um eine vorhandene virtuelle Maschine zu aktualisieren, öffnen Sie ein Terminal und führen Sie die Befehle aus: boot2docker stop boot2docker download boot2docker start

Docker ausführen

Mit Boot2Docker werden Sie sofort bei Docker registriert, sodass Sie sofort loslegen können.

Lassen Sie uns ein Beispiel-Hello-World-Bild ausprobieren. Wir starten

$ docker starte hallo Welt

Dadurch wird ein sehr kleines Hello-World-Image heruntergeladen und eine Hello from Docker-Nachricht ausgegeben.

Weitere Details

Mit dem Verwaltungstool Boot2Docker können Sie mehrere der folgenden Befehle verwenden:

$ ./boot2docker Verwendung: ./boot2docker [<параметры>] (help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|delete|download|version) [ ]

Containerhafenweiterleitung

Falls Sie sich fragen, ist der Standardbenutzername von boot2docker docker und sein Passwort ist tcuser .

Die neueste Version von boot2docker konfiguriert einen einzelnen Netzwerkadapter mit dem Hostsystem, der den Zugriff auf Containerports ermöglicht.

Wenn Sie einen Container mit folgendem offenen Port starten:

Docker-Run --rm -i -t -p 80:80 nginx

dann können Sie über die IP-Adresse auf diesen Nginx-Server zugreifen, was folgendermaßen geschieht:

boot2docker-ip

Normalerweise ist diese Adresse 192.168.59.103, aber dies kann in einer bestimmten Virtualbox-DHCP-Implementierung geändert werden.

Auf der Boot2Docker-Seite finden Sie Weitere Informationen oder ein Problem melden.



Wird geladen...
Spitze