Heim Java javaLernprogramm Docker-Schnellstart, Kernkonzepte und allgemeine Anweisungen

Docker-Schnellstart, Kernkonzepte und allgemeine Anweisungen

Aug 23, 2023 pm 02:56 PM
docker


Ein Freund stellte am Wochenende Fragen zu Docker. Heute werde ich Ihnen einen schnellen Einstieg in Docker, Kernkonzepte und allgemeine Anweisungen geben. 1. Grundlegende Konzepte und Operationen 1.1. Installation 1.1. Für die Installation von Docker unter CentOS ist die Distributionsversion 7 und höher erforderlich. Es wird empfohlen, den Overlay2-Speichertreiber zu verwenden.

# 卸载已有 docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

# 添加安装源
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

# 安装最新版
sudo yum install docker-ce docker-ce-cli containerd.io

# 启动
sudo yum install docker-ce docker-ce-cli containerd.io
Nach dem Login kopieren

Docker-Schnellstart, Kernkonzepte und allgemeine Anweisungen

1.2, Bild

ist im Wesentlichen eine schreibgeschützte Kombination aus Dateien und Ordnern, die alle grundlegenden Dateien und Konfigurationsinformationen enthält, die beim Ausführen des Containers erforderlich sind. Bedienung: 1. Ziehen Sie den Bild-Docker-Pull Zum Beispiel: Docker Pull Nginx2, benennen Sie das Bild-Docker-Tag um Zum Beispiel: docker tag nginx:latest mynginx:latest

3. Sehen Sie sich das Image docker rmi anZum Beispiel: docker rmi mynginx5 oder Docker-Commit Zum Beispiel: docker commit nginx mynginx:lastest Docker-Build ist relativ komplex, wird aber häufiger verwendet

1.3. Container

Ein Image kann mehrere Container erstellen. Das Wesentliche beim Ausführen eines Containers ist die Erstellung einer Lese-/Schreibkopie des Dateisystems.

Lebenszyklus:

Erstellt: anfänglicher Konstruktionszustand

Laufend: Ausführungszustand

Gestoppt: Angehaltener Zustand

Pause: Angehaltener Zustand

Gelöscht: Gelöschter Zustand

Vorgänge: 1. Erstellen und starten Sie den Container

Erstellen : docker create -it --name=mynginx mynginx

Start: docker start mynginx

Erstellen und starten: docker run -it --name=mynginx mynginx

2 Beenden Sie den Container Docker stoppt mynginx

3. Betreten Sie den Container Docker Attach Mynginx docker exec -it mynginx sh (mehr verwendet)

4. Löschen Sie den Container Docker RM Mynginx Löschen Sie den laufenden Container: docker rm -f mynginx

5 Exportieren Sie den Container Docker-Export mynginx > mynginx.tar

6 Docker Import mynginx.tar mynginx:import

1.4, Warehouse

speichert und verteilt Docker-Images; der Registrierungsserver ist der eigentliche Server, auf dem das Warehouse gespeichert ist, und kann viele Warehouses enthalten, und jedes Warehouse kann mehrere Bilder enthalten.

Öffentlicher Lager-Docker-Hub https://hub.docker.com/ Login: Docker-Login Schieben Sie das Bild in das Lager: Docker Push

Verwenden Sie die Verteilung, um ein privates Lager zu erstellen https://github.com/distribution/distribution

docker run -d -p 5000:5000 --name Registry Registry:2.7 docker push localhost:5000/mynginx

1.5, Volume

kann das standardmäßige gemeinsame Dateisystem umgehen und direkt auf dem Host in Form von Dateien oder Verzeichnissen existieren. Es löst die Probleme der Datenpersistenz und des Datenaustauschs zwischen Containern. Vorgang: 1. Erstellen: Docker-Volume erstellen Volume-Name

2. -v gibt den Pfad an, der beibehalten werden soll. Docker erstellt das Volume automatisch für uns und bindet es an den Container. docker run -d --name=nginx-volume -v /usr/share/nginx/html nginx

3. Ansicht: Docker-Volume ls

4. - Die Der Parameter -mount gibt den Namen des Volumes an docker run -d --name=nginx --mount source=volume-name,target=/usr/share/nginx/html nginx

6. Datenträger löschen: docker volume rm volume-name

7 : Docker run --mount source=lv,target=/tmp/log --name=v-producer -it test docker run -it --name Consumer --volumes-from v-producer test

8. Datenaustausch zwischen Volumes und Hosts: docker run -v /data:/usr/local/data -it test

1.6 . Wichtige Komponenten

1. Docker

    docker, ist der Docker-Client, sendet Anfragen
  • dockerd, der Servereingang, ist für den Empfang von Anfragen und die Rückgabe von Ergebnissen verantwortlich
  • docker-init, Container Prozess Nr. 1, verwaltet Untercontainer
  • Docker-Proxy, leitet den Netzwerkverkehr des Hosts an den Container
  • 2, Containerd

    Container, ist für das Lebenszyklusmanagement des Containers verantwortlich, B. Container-Start, -Stopp usw während der Entwicklung und beim Debuggen
  • 3
    • Runc erstellt und zerstört über die Systemschnittstelle Container alle Container auf dem Host. cAdvisor ist eine allgemeine Open-Source-Container-Überwachungslösung von Google. Installationsreferenz:
    • https://www.jianshu.com/p/91f9d9ec374f
Überwachung anzeigen: http://localhost:8080 http://localhost:8080/containers/ http: // localhost: 8080/docker/

1.8, Sicherheitsfragen nicht genug

2. Implementierungsprinzip

2.1. Namespace
  • Namespace ist eine Funktion des Linux-Kernels, die im selben Hostsystem implementiert werden kann, um ID zu verarbeiten, Hostname, Benutzer, Dateiname, Netzwerk- und Interprozesskommunikation und andere Ressourcenisolation.
  • Docker verwendet sechs Typen: Mount-Namespace, Mount-Point-Isolation PID-Namespace, Prozessisolation UTS-Namespace, Hostnamen-Isolierung IPC-Namespace, Isolation der Kommunikation zwischen Prozessen Benutzernamespace, Benutzer- und Benutzergruppenisolation Net Namespace, Netzwerkgerät, IP-Adresse und Portisolation
  • 2.2, Cgroups

begrenzen die Ressourcen eines Prozesses oder einer Prozessgruppe, wie CPU, Speicher, Festplatten-E/A usw. Funktionen von cgroups:
  • Ressourcennutzung begrenzen
  • Verschiedene Gruppen können unterschiedliche Nutzungsprioritäten für CPU, Festplatten-E/A und andere Ressourcen haben.
  • Berechnen Sie die Ressourcennutzung der Kontrollgruppe
  • 2.3. Union File System

Union File System, ein mehrschichtiges, leichtes Dateisystem, das den Inhalt mehrerer Verzeichnisse gemeinsam in demselben Verzeichnis bereitstellen kann, um ein einziges Dateisystem zu bilden. Es gibt drei am häufigsten verwendete Union-Dateisysteme in Docker: AUFS, Devicemapper und OverlayFS.

AUFS ist das früheste und ausgereifteste

  • Devicemapper, ein vom Linux-Kernel bereitgestelltes Framework, ist ein technisches Framework zum Zuordnen von Blockgeräten. Zu den Kernkonzepten gehören zugeordnetes Gerät, Zielgerät und Zuordnungstabelle, einschließlich Loop-LVM-Modus und Direkt-LVM-Modus (für den Produktionsgebrauch);
  • Overlay2, das Update ist stabiler und für die Linux-Kernel- und Docker-Version geeignet Die Anforderungen sind relativ hoch.
  • 2.4. Netzwerkimplementierung

CNM (Container Network Model) ist ein von Docker veröffentlichter Container-Netzwerkstandard. Libnetwork ist Open Source, in Golang geschrieben, folgt vollständig der CNM-Netzwerkspezifikation und ist die offizielle Implementierung von CNM. Libnetwork enthält vier Hauptnetzwerkmodelle:

  • Null-Netzwerkmodus, es wird kein Containernetzwerk bereitgestellt.
  • Bridge-Bridge-Modus, Container können miteinander kommunizieren Modus, Container Stellen Sie das gleiche Netzwerk über LocalHost-Interviews ein
  • 3, andere verwandte

3.1, Containeranordnung Docker: Docker Compose, Docker Swarm, Kubernetes .

Docker Compose wurde von Docker erworben. Es handelt sich im Wesentlichen um ein Python-Skript, das mehrere Container auf einem einzelnen Knoten verwalten und orchestrieren kann.

Docker Swarm ist ein von Docker offiziell eingeführtes Container-Cluster-Management-Tool. Es ist einfach zu bedienen, unterstützt die bidirektionale TLS-Authentifizierung und verwendet das Raft-Protokoll, um die Verteilung zu erreichen.

    Kubernetes, Google stützt sich auf das technische Design und die Implementierung des internen Borg-Systems. Es ist leistungsstark und zielt darauf ab, den Betrieb von Hunderten Millionen Containern zu unterstützen ist hoch. 3.2. Die Rolle von DevOps Qualität. Zuverlässigkeit.
  • Installieren Sie die Entwicklungsumgebung schnell über Docker, integrieren Sie Dockerfile schnell, um Images zu erstellen, ziehen Sie das Image und führen Sie den Container aus, um die Bereitstellung abzuschließen, und kombinieren Sie es mit Container-Orchestrierungstools, um eine blau-grüne Veröffentlichung zu erreichen.
  • Fördert die Entwicklung von DevOps.
  • Ermöglicht eine schnelle kontinuierliche Integration und Bereitstellung.

Das obige ist der detaillierte Inhalt vonDocker-Schnellstart, Kernkonzepte und allgemeine Anweisungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verpacken Sie ein Projekt mit Pycharm So verpacken Sie ein Projekt mit Pycharm Apr 25, 2024 am 03:54 AM

Es gibt vier Möglichkeiten, ein Projekt in PyCharm zu verpacken: Als separate ausführbare Datei verpacken: In das EXE-Einzeldateiformat exportieren. Als Installationsprogramm verpackt: Setuptools-Makefile generieren und erstellen. Als Docker-Image verpacken: Geben Sie einen Image-Namen an, passen Sie die Build-Optionen an und erstellen Sie. Als Container verpacken: Geben Sie das zu erstellende Image an, passen Sie die Laufzeitoptionen an und starten Sie den Container.

Architektur und Praxis verteilter PHP-Systeme Architektur und Praxis verteilter PHP-Systeme May 04, 2024 am 10:33 AM

Die verteilte PHP-Systemarchitektur erreicht Skalierbarkeit, Leistung und Fehlertoleranz durch die Verteilung verschiedener Komponenten auf mit dem Netzwerk verbundene Maschinen. Die Architektur umfasst Anwendungsserver, Nachrichtenwarteschlangen, Datenbanken, Caches und Load Balancer. Zu den Schritten zur Migration von PHP-Anwendungen auf eine verteilte Architektur gehören: Identifizieren von Dienstgrenzen, Auswählen eines Nachrichtenwarteschlangensystems, Einführung eines Microservices-Frameworks, Bereitstellung für die Containerverwaltung, Diensterkennung

Docker schließt die lokale Bereitstellung des großen Open-Source-Modells LLama3 in drei Minuten ab Docker schließt die lokale Bereitstellung des großen Open-Source-Modells LLama3 in drei Minuten ab Apr 26, 2024 am 10:19 AM

Übersicht LLaMA-3 (LargeLanguageModelMetaAI3) ist ein groß angelegtes Open-Source-Modell für generative künstliche Intelligenz, das von Meta Company entwickelt wurde. Im Vergleich zur Vorgängergeneration LLaMA-2 gibt es keine wesentlichen Änderungen in der Modellstruktur. Das LLaMA-3-Modell ist in verschiedene Maßstabsversionen unterteilt, darunter kleine, mittlere und große, um unterschiedlichen Anwendungsanforderungen und Rechenressourcen gerecht zu werden. Die Parametergröße kleiner Modelle beträgt 8 B, die Parametergröße mittlerer Modelle beträgt 70 B und die Parametergröße großer Modelle erreicht 400 B. Beim Training besteht das Ziel jedoch darin, multimodale und mehrsprachige Funktionalität zu erreichen, und die Ergebnisse werden voraussichtlich mit GPT4/GPT4V vergleichbar sein. Ollama installierenOllama ist ein Open-Source-Großsprachenmodell (LL

Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung May 08, 2024 pm 02:21 PM

Antwort: PHP-Microservices werden mit HelmCharts für eine agile Entwicklung bereitgestellt und mit DockerContainer für Isolation und Skalierbarkeit in Containern verpackt. Detaillierte Beschreibung: Verwenden Sie HelmCharts, um PHP-Microservices automatisch bereitzustellen, um eine agile Entwicklung zu erreichen. Docker-Images ermöglichen eine schnelle Iteration und Versionskontrolle von Microservices. Der DockerContainer-Standard isoliert Microservices und Kubernetes verwaltet die Verfügbarkeit und Skalierbarkeit der Container. Verwenden Sie Prometheus und Grafana, um die Leistung und den Zustand von Microservices zu überwachen und Alarme und automatische Reparaturmechanismen zu erstellen.

PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? Mar 05, 2025 pm 05:57 PM

Detaillierte Erläuterungs- und Installationshandbuch für Pinetwork -Knoten In diesem Artikel wird das Pinetwork -Ökosystem im Detail vorgestellt - PI -Knoten, eine Schlüsselrolle im Pinetwork -Ökosystem und vollständige Schritte für die Installation und Konfiguration. Nach dem Start des Pinetwork -Blockchain -Testnetzes sind PI -Knoten zu einem wichtigen Bestandteil vieler Pioniere geworden, die aktiv an den Tests teilnehmen und sich auf die bevorstehende Hauptnetzwerkveröffentlichung vorbereiten. Wenn Sie Pinetwork noch nicht kennen, wenden Sie sich bitte an was Picoin ist? Was ist der Preis für die Auflistung? PI -Nutzung, Bergbau und Sicherheitsanalyse. Was ist Pinetwork? Das Pinetwork -Projekt begann 2019 und besitzt seine exklusive Kryptowährung PI -Münze. Das Projekt zielt darauf ab, eine zu erstellen, an der jeder teilnehmen kann

So installieren Sie Deepseek So installieren Sie Deepseek Feb 19, 2025 pm 05:48 PM

Es gibt viele Möglichkeiten, Deepseek zu installieren, einschließlich: kompilieren Sie von Quelle (für erfahrene Entwickler) mit vorberechtigten Paketen (für Windows -Benutzer) mit Docker -Containern (für bequem am besten, um die Kompatibilität nicht zu sorgen), unabhängig von der Methode, die Sie auswählen, bitte lesen Die offiziellen Dokumente vorbereiten sie sorgfältig und bereiten sie voll und ganz vor, um unnötige Schwierigkeiten zu vermeiden.

Wie kann die Leistung von Java-Funktionen durch Containerisierung optimiert werden? Wie kann die Leistung von Java-Funktionen durch Containerisierung optimiert werden? Apr 29, 2024 pm 03:09 PM

Die Containerisierung verbessert die Leistung von Java-Funktionen auf folgende Weise: Ressourcenisolation – Gewährleistung einer isolierten Computerumgebung und Vermeidung von Ressourcenkonflikten. Leicht – beansprucht weniger Systemressourcen und verbessert die Laufzeitleistung. Schneller Start – reduziert Verzögerungen bei der Funktionsausführung. Konsistenz – Entkoppeln Sie Anwendungen und Infrastruktur, um ein konsistentes Verhalten in allen Umgebungen sicherzustellen.

Stellen Sie JavaEE-Anwendungen mithilfe von Docker-Containern bereit Stellen Sie JavaEE-Anwendungen mithilfe von Docker-Containern bereit Jun 05, 2024 pm 08:29 PM

Stellen Sie Java EE-Anwendungen mithilfe von Docker-Containern bereit: Erstellen Sie eine Docker-Datei, um das Image zu definieren, erstellen Sie das Image, führen Sie den Container aus, ordnen Sie den Port zu und greifen Sie dann im Browser auf die Anwendung zu. Beispiel für eine JavaEE-Anwendung: Die REST-API interagiert mit der Datenbank und ist nach der Bereitstellung über Docker auf localhost zugänglich.

See all articles