So installieren und konfigurieren Sie Docker
Wie installiere und konfiguriere ich Docker?
Dieser Artikel ergänzt die Webinarreihe zum Bereitstellen und Verwalten von Container-Workloads in der Cloud. In dieser Reihe werden die Grundlagen von Containern vorgestellt, darunter das Container-Lebenszyklusmanagement, die Bereitstellung von Multi-Container-Anwendungen, die Skalierung von Arbeitslasten und das Verständnis von Kubernetes. Außerdem werden Best Practices für die Ausführung zustandsbehafteter Anwendungen hervorgehoben.
Dieses Tutorial behandelt die Konzepte und Befehle, die im ersten Teil dieser Serie „Erste Schritte mit Containern“ vorgestellt wurden.
Einführung
Docker ist eine Plattform für die Bereitstellung und Verwaltung von Containeranwendungen. Container sind aufgrund der Flexibilität, die sie bieten, bei Entwicklern, Administratoren und Entwicklungsingenieuren beliebt.
Docker besteht aus drei Grundkomponenten:
Docker-Engine, Docker-Tool, Docker-Registrierung
Docker Engine bietet die Kernfunktionalität für die Verwaltung von Containern. Es ist mit dem zugrunde liegenden Linux-Betriebssystem verbunden, um einfache APIs für die Abwicklung des Container-Lebenszyklus bereitzustellen.
Docker Tools ist eine Reihe von Befehlszeilentools, die mit der von der Docker Engine bereitgestellten API interagieren. Sie werden verwendet, um Container auszuführen, neue Images zu erstellen, Speicher und Netzwerk zu konfigurieren und viele weitere Vorgänge auszuführen, die sich auf den Containerlebenszyklus auswirken.
In der Docker-Registrierung werden Container-Images gespeichert. Für jedes Bild können mehrere Versionen vorhanden sein, die durch eindeutige Tags gekennzeichnet sind. Benutzer rufen vorhandene Bilder aus der Registrierung ab und übertragen neue Bilder. Docker Hub ist eine verwaltete Registrierung, die von Docker, Inc. verwaltet wird. Es ist auch möglich, die Registrierung in einer eigenen Umgebung auszuführen, um die Bilder näher an der Engine zu halten.
Am Ende dieses Tutorials haben Sie Docker auf einem DigitalOcean Droplet installiert, Container verwaltet, Bilder verarbeitet, Persistenz hinzugefügt und eine private Registrierung eingerichtet.
Voraussetzungen
Um diesem Tutorial folgen zu können, benötigen Sie:
Richten Sie ein Ubuntu 16.04-Droplet gemäß dem Ubuntu 16.04 Initial Server Setup-Tutorial ein, das einen sudo-Benutzer ohne Rootberechtigung enthält und eine Firewall.
Docker Hub-Konto . Diese Übersicht über Docker Hub hilft Ihnen beim Einstieg.
Standardmäßig erfordert der Docker-Befehl Root-Rechte. Es ist jedoch möglich, Befehle ohne das Sudo-Präfix auszuführen, indem Sie Docker als Docker-Benutzer in der Docker-Gruppe ausführen.
Um Ihr Droplet auf diese Weise zu konfigurieren, führen Sie den Befehl sudo usermod -aG docker ${USER} aus. Dadurch wird der aktuelle Benutzer zur Docker-Gruppe hinzugefügt. Führen Sie dann den Befehl su - ${USER} aus, um die neue Gruppenmitgliedschaft anzuwenden.
In diesem Tutorial wird davon ausgegangen, dass Ihr Server so konfiguriert ist, dass er Docker-Befehle ohne das Sudo-Präfix ausführt.
Schritt 1 – Docker installieren
Führen Sie nach der SSH-Verbindung zum Droplet den folgenden Befehl aus, um alle möglicherweise installierten Docker-bezogenen Pakete zu löschen, und installieren Sie dann Docker aus dem offiziellen Repository:
sudo apt-get remove 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 add -sudo apt-key fingerprint 0EBFCD88sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"sudo apt-get update sudo apt-get install -y docker-ce
Nach der Installation von Docker überprüfen Sie die Installation mit dem folgenden Befehl:
docker info
Der obige Befehl zeigt die Details der in der Umgebung bereitgestellten Docker Engine. Der nächste Befehl überprüft, ob die Docker Tools korrekt installiert und konfiguriert sind. Es sollte die Versionen der Docker-Engine und der Docker-Tools drucken.
docker version
Schritt 2 – Container starten
Docker-Container werden von einem vorhandenen Image gestartet, das in der Registrierung gespeichert ist. Bilder in Docker können in privaten oder öffentlichen Repositorys gespeichert werden. Bei privaten Repositorys müssen sich Benutzer authentifizieren, bevor sie Bilder abrufen. Auf öffentliche Bilder kann jeder zugreifen.
Um nach einem Bild mit dem Namen „hello-world“ zu suchen, führen Sie den folgenden Befehl aus:
docker search hello-world
Es können mehrere Bilder vorhanden sein, die mit dem Namen „hello-world“ übereinstimmen. Wählen Sie den größten Stern, dieser zeigt die Wirkung des Bildes.
Überprüfen Sie die verfügbaren Bilder in Ihrer lokalen Umgebung mit dem folgenden Befehl:
docker images
Da wir noch keine Container ausgerollt haben, wird es keine Bilder geben. Wir können jetzt das Image herunterladen und lokal ausführen:
docker pull hello-world docker run hello-world
Wenn wir den Docker-Run-Befehl ausführen, ohne das Image zu ziehen, ruft Docker Engine zuerst das Image ab und führt es dann aus. Das erneute Ausführen des Docker-Images-Befehls zeigt, dass das Hello-World-Image lokal verfügbar ist.
Lassen Sie uns einen Container starten, der mehr Sinn macht: einen Apache-Webserver.
docker run -p 80:80 --name web -d httpd
Möglicherweise bemerken Sie, dass zusätzliche Optionen an den Docker-Run-Befehl übergeben werden. Hier ist eine Erklärung dieser Schalter:
-p – Dies weist die Docker-Engine an, den Port 80 des Containers auf dem Port 80 des Hosts verfügbar zu machen. Da Apache auf Port 80 lauscht, müssen wir ihn auf dem Host-Port verfügbar machen. --name – Dieser Schalter weist unserem laufenden Container einen Namen zu. Wenn wir dies weglassen, weist Docker Engine einen zufälligen Namen zu.
-d – Diese Option weist die Docker-Engine an, den Container im getrennten Modus auszuführen. Andernfalls startet der Container im Vordergrund und blockiert den Zugriff auf die Shell. Indem wir den Container in den Hintergrund schieben, können wir die Shell weiterhin verwenden, während der Container noch läuft.
要验证我们的容器是否确实在后台运行,请尝试以下命令:
docker ps
输出显示名为web的容器正在运行,端口80映射到主机端口80 。
现在访问Web服务器:
curl localhost
让我们停止并用下面的命令删除正在运行的容器:
docker stop web docker rm web
运行docker ps再次确认容器已被终止。
第3步 - 添加存储到容器
容器是短暂的,这意味着当容器终止时,存储在容器内的任何东西都将丢失。 要将数据保存在容器的寿命之外,我们需要将容器附加到容器中。 卷是主机文件系统的目录。
首先在主机上创建一个新目录:
mkdir htdocs
现在,让我们用一个新开关启动容器来挂载htdocs目录,并将其指向Apache Web服务器的文档根目录:
docker run -p 80:80 --name web -d -v $PWD/htdocs:/usr/local/apache2/htdocs httpd
-v开关将容器中的htdocs目录指向主机的文件系统。 对这个目录所做的任何更改都将在两个位置都可见。
通过运行以下命令从容器中访问目录:
docker exec -it web /bin/bash
该命令以交互模式将我们的终端连接到容器的外壳。 你应该看到你现在被丢在容器内。
导航到htdocs文件夹并创建一个简单的HTML文件。 最后退出shell返回主机:
cd /usr/local/apache2/htdocs echo '<h1>Hello World from Container</h1>' > index.htmlexit
再次执行curl localhost命令显示Web服务器正在返回我们创建的页面。
我们不仅可以从主机访问这个文件,但我们也可以修改它:
cd htdocs cat index.html echo '<h1>Hello World from Host</h1>' | sudo tee index.html >/dev/null
再次运行curl localhost ,确认Web服务器正在提供从主机创建的最新页面。
使用以下命令终止容器。 ( -f迫使Docker先停止而不停止。)
docker rm -f web
第4步 - 建立图像
除了从注册表中运行现有的图像,我们可以创建自己的图像,并将其存储在注册表中。
您可以从现有的容器中创建新的图像。 首先提交对容器所做的更改,然后将图像标记并推送到注册表。
让我们再次启动httpd容器并修改默认文档:
docker run -p 80:80 --name web -d httpd docker exec -it web /bin/bash cd htdocs echo '<h1>Welcome to my Web Application</h1>' > index.htmlexit
该容器现在运行一个自定义的index.html 。 你可以使用curl localhost来验证它。
在我们提交更改后的容器之前,最好停止它。 停止后,我们将运行commit命令:
docker stop web docker commit web doweb
使用docker images命令确认图像的创建。 它显示了我们刚刚创建的doweb图像。
要在Docker Hub中标记和存储此映像,请运行以下命令将映像推送到公共注册表:
docker login docker tag your_docker_hub_username/doweb docker push
您可以通过从浏览器或命令行在Docker Hub中搜索来验证新映像。
第5步 - 启动私人注册表
可以在私人环境中运行注册表以保持图像更加安全。 它也减少了Docker引擎和映像库之间的延迟。
Docker Registry是一个可以像任何其他容器一样启动的容器。 由于注册表拥有多个图像,因此最好将存储卷附加到该图像上。
docker run -d -p 5000:5000 --restart=always --name registry -v $PWD/registry:/var/lib/registry registry
请注意,容器是在后台启动的,端口5000暴露, registry目录映射到主机文件系统。 您可以通过执行docker ps命令来验证容器正在运行。
我们现在可以标记一个本地图像,并将其推送到私人注册表。 我们首先从Docker Hub中取出busybox容器并对其进行标记。
docker pull busybox docker tag busybox localhost:5000/busybox docker images
以前的命令确认busybox容器现在用localhost:5000标记,所以将图像推送到私有注册表。
docker push localhost:5000/busybox
将图像推送到本地注册表,让我们尝试从环境中删除它,并从注册表中拉回。
docker rmi -f localhost:5000/busybox docker images docker pull localhost:5000/busybox docker images
我们经历了拉动图像,标记,推送到本地注册表,最后拉回来的整个圈子。
可能有些情况下您想要在专用主机中运行私有注册表。 在不同的机器上运行的Docker引擎会与远程注册表进行通信,以获取和推送图像。
由于注册表不安全,我们需要修改Docker引擎的配置以启用对不安全注册表的访问。 为此,编辑位于/etc/docker/daemon.json
的daemon.json文件。 创建文件,如果它不存在。
添加以下条目:
编辑/etc/docker/daemon.json
{
"insecure-registries" : ["REMOTE_REGISTRY_HOST:5000"]}
将REMOTE_REGISTRY_HOST
替换为远程注册表的主机名或IP地址。 重新启动Docker引擎以确保应用配置更改。
结论
本教程帮助您开始使用Docker。 它涵盖了安装,容器管理,映像管理,存储和私有注册表等基本概念。 本系列即将发布的会议和文章将帮助您超越Docker的基础知识。
相关参考:docker教程
Das obige ist der detaillierte Inhalt vonSo installieren und konfigurieren Sie Docker. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Schritte zum Erstellen eines Docker -Images: Schreiben Sie eine Dockerfile, die die Build -Anweisungen enthält. Erstellen Sie das Bild im Terminal mit dem Befehl Docker Build. Markieren Sie das Bild und weisen Sie Namen und Tags mit dem Befehl Docker Tag zu.

Sie können zur Quelle der Inlandsspiegel wechseln. Die Schritte sind wie folgt: 1. Bearbeiten Sie die Konfigurationsdatei /etc/docker/daemon.json und fügen Sie die Spiegelquellenadresse hinzu; 2. Starten Sie den Docker Service Sudo SystemCtl Docker neu, um die Download -Geschwindigkeit und -stabilität des Bilddownloads zu verbessern.

Um die Docker -Version zu erhalten, können Sie die folgenden Schritte ausführen: Führen Sie den Befehl Docker "Docker --version" aus, um die Client- und Serverversionen anzuzeigen. Für Mac oder Windows können Sie auch Versionsinformationen über die Registerkarte Version der Docker -Desktop -GUI oder das Menü Docker Desktop anzeigen.

Wie benutze ich Docker Desktop? Docker Desktop ist ein Werkzeug zum Ausführen von Docker -Containern auf lokalen Maschinen. Zu den zu verwendenden Schritten gehören: 1.. Docker Desktop installieren; 2. Start Docker Desktop; 3.. Erstellen Sie das Docker -Bild (mit Dockerfile); 4. Build Docker Image (mit Docker Build); 5. Docker -Container ausführen (mit Docker Run).

Die Schritte zur Aktualisierung eines Docker -Images sind wie folgt: Ziehen Sie das neueste Bild -Tag. Neues Bild Löschen Sie das alte Bild für ein bestimmtes Tag (optional) den Container neu (falls erforderlich) neu starten Sie neu (falls erforderlich).

Zu den Methoden zum Anzeigen von Docker -Protokollen gehören: Verwenden des Befehls docker Protokolle, z. cat /var/log/container_name.log Verwenden Sie den Befehl docker-compose-Protokolle von Docker Compose, zum Beispiel: Docker-compose -f Docker-com

Um das Bild in Docker zu speichern, können Sie den Befehl docker comit verwenden, um ein neues Bild zu erstellen, das den aktuellen Status des angegebenen Containers Syntax: Docker Commit [Optionen] Container -ID -Bildname enthält. Um das Bild im Repository zu speichern, können Sie den Befehl Docker Push, Syntax: Docker -Push -Bildname [: Tag] verwenden. Um gespeicherte Bilder zu importieren, können Sie den Befehl Docker Pull, Syntax: Docker Pull Bildname [: Tag] verwenden.

Wie reite ich Docker -Befehle aus? Installieren Sie Docker und starten Sie den Daemon. Common Docker -Befehle: Docker Bilder: Anzeige Bild Docker PS: Anzeige Container Docker Ausführen: Ausführen Container Docker Stopp: Stopp Container Docker RM: Löschen Sie Container Interagieren Sie mit Container mit Docker -Befehl: Dokker Exec: Execute -Befehl Dockker Anhang: Anhängen Konsole Docker Protokolls: Display LOCKER DOCKER Commit Wechsel zum Mirror Stop Dokker
