Was ist Runc in Docker?
In Docker ist RunC ein CLI-Tool zum Erstellen und Ausführen von Containern gemäß OCI-Standards, ein Befehlszeilentool zum Ausführen von Containern, das den OCI-Standards folgt. runC ist der Kernbestandteil von Docker. Die Erstellung, Ausführung, Zerstörung und andere Vorgänge des Containers werden schließlich durch den Aufruf von runc abgeschlossen.
Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Docker-1.13.1-Version, Dell G3-Computer.
OCI definiert den Container-Laufzeitstandard und runC ist eine spezifische Implementierung, die von Docker gemäß dem offenen Containerformatstandard Open Container Format, OCF, entwickelt wurde.
Dieses Projekt wird aus Dockers libcontainer migriert und implementiert Funktionen wie Container-Start und -Stopp, Ressourcenisolation usw. Daher kann der Container direkt über dieses Tool ausgeführt werden.
Einführung
Die sogenannte Container-Laufzeit (Container Runtime) umfasst Container-Management und Container-Image. OCI ist der Industriestandard für Container-Laufzeit, einschließlich:
A) Laufzeitstandard runtime-spec;
B) Container-Image-Standard image-spec.
Einfach ausgedrückt definiert der Container-Image-Standard die Verpackungsform des Container-Images und der Laufzeitstandard definiert, wie ein Container ausgeführt wird.
RunC ist ein CLI-Tool, das Container gemäß OCI-Standards erstellt und ausführt. Es ist ein Befehlszeilentool zum Ausführen von Containern, das OCI-Standards folgt.
Docker
In der alten Version müssen Sie docker-runc
aufrufen, aber in der neuesten CE-Version wird es direkt geändert zum Befehl runc
. docker-runc
,而最新的 CE 版本里,直接修改为了 runc
命令。
RunC 作为容器的最底层运行环境,其上层通过 Docker 进行管理。
runC就是docker中最为核心的部分,容器的创建,运行,销毁等等操作最终都将通过调用runc完成。
独立运行
RunC 作为容器的运行态,不包含镜像的管理,如果直接使用,需要先准备好镜像,这里直接使用已经构建好的 BusyBox 模板。
OCI Bundle
OCI Bundle 是指满足 OCI 标准的一系列文件,这些文件包含了运行容器所需要的所有数据,它们存放在一个共同的目录,该目录包含以下两项:
-
config.json
包含容器运行的配置数据; - 容器的 root filesystem 。
如果主机上安装了 Docker,那么可以使用 docker export
命令将已有镜像导出为 OCI Bundle 的格式。
生成 rootfs
直接使用 Docker 中的 BusyBox 模板。
----- 下载最新的版本 $ docker pull busybox ----- 创建rootfs $ mkdir rootfs $ docker export $(docker create busybox) | tar -C rootfs -xvf -
配置文件
在 rootfs
目录下,包含了常见的二进制文件,除了根目录之外,还需要一个 config.json
配置文件,可以通过 runc spec
命令生成配置模板。
详细的配置可以参考 https://github.com/opencontainers/runtime-spec/blob/master/spec.md
将配置文件中的 "terminal": true
修改为 false
,否则会在创建的时候会宝 cannot allocate tty if runc will detach without setting console socket
报错。
另外,因为关闭了终端,所以将命令修改为 "args": [ "sleep", "10000" ],
参数。
启动
----- 创建容器并查看状态 # runc create mybusybox # runc list ----- 启动容器,并查看状态 # runc start mybusybox ----- 删除容器 # runc delete mybusybox
在启动了之后,可以通过 ps aux | grep sleep

Unabhängig ausführen
RunC ist der Betriebszustand des Containers und beinhaltet keine Bildverwaltung. Wenn Sie es direkt verwenden, müssen Sie das Bild zuerst vorbereiten bereits erstellte BusyBox-Vorlage.
🎜🎜🎜OCI-Bundle bezieht sich auf eine Reihe von Dateien, die dem OCI-Standard entsprechen. Diese Dateien enthalten alle zum Ausführen des Containers erforderlichen Daten. Sie werden in einem gemeinsamen Verzeichnis gespeichert, das die folgenden zwei Elemente enthält : 🎜config.json
Enthält Konfigurationsdaten für die Containerausführung.- Das Root-Dateisystem des Containers.
docker export
verwenden, um das vorhandene Image in das OCI-Bundle-Format zu exportieren . 🎜🎜🎜🎜Rootfs generieren🎜🎜🎜🎜Verwenden Sie die BusyBox-Vorlage direkt in Docker. 🎜🎜----- 查看容器状态 # runc state mybusybox ----- 容器内运行进程 # runc ps mybusybox ----- 在容器中执行命令 # runc exec mybusybox ls ----- 停止容器内的任务 # runc kill mybusybox ----- 暂停容器内的所有进程 # runc pause mybusybox ----- 恢复容器内进程的执行 # runc resume mybusybox ----- 获取容器的资源使用情况 # runc events mybusybox
rootfs
, das neben dem Stammverzeichnis auch allgemeine Binärdateien enthält. Sie benötigen außerdem eine config.json
-Konfigurationsdatei, mit der Sie über die Runc-Spezifikation eine Konfigurationsvorlage generieren können. Code> Befehl. 🎜🎜Eine detaillierte Konfiguration finden Sie unter https://github.com/opencontainers/runtime-spec/blob/master/spec.md.🎜🎜Ändern Sie das Terminal <code class="Language-Plaintext Highlighter-Rouge"> Die Konfigurationsdatei „: true
wird in False
geändert, andernfalls ist dies nicht möglich Während der Erstellung wird tty zugewiesen, wenn runc die Verbindung trennt, ohne den Konsolen-Socket festzulegen. meldet einen Fehler. 🎜🎜Da das Terminal geschlossen ist, wird der Befehl außerdem in die Parameter "args": [ "sleep", "10000" ],
geändert. 🎜🎜🎜🎜Starten: 🎜🎜Allgemeine Befehle🎜🎜rrreee🎜🎜Hot-Migration🎜🎜 besteht darin, einen CheckPoint-Vorgang für einen Container auszuführen, eine Reihe von Dateien abzurufen und ihn dann auf anderen Computern zu starten. 🎜🎜Empfohlenes Lernen: „🎜Docker-Video-Tutorial🎜“🎜Das obige ist der detaillierte Inhalt vonWas ist Runc in 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



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.

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

Ü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

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.

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

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.

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 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.
