Docker の runc とは何ですか
Docker では、RunC は、OCI 標準に従ってコンテナを作成および実行する CLI ツールであり、コンテナを実行するための OCI 標準に準拠したコマンド ライン ツールです。 runC は docker の中核部分であり、コンテナの作成、実行、破棄などの操作は最終的に runc を呼び出すことで完了します。
このチュートリアルの動作環境: linux5.9.8 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。
OCI はコンテナ ランタイム標準を定義し、runC はオープン コンテナ フォーマット標準である Open Container Format (OCF) に従って Docker によって策定された特定の実装です。
このプロジェクトは Docker の libcontainer から移行され、コンテナの起動と停止、リソースの分離などの機能を実装しています。したがって、コンテナはこのツールを通じて直接実行できます。
はじめに
いわゆるコンテナ ランタイム (コンテナ ランタイム) には、コンテナ管理とコンテナ イメージングが含まれます。Open Container Initiative (OCI) は、次のようなコンテナ ランタイムの業界標準です。
A) ランタイム標準 runtime-spec;
B) コンテナ イメージ標準 image-spec。
簡単に言えば、コンテナ イメージ標準はコンテナ イメージのパッケージ化形式を定義し、ランタイム標準はコンテナの実行方法を定義します。
RunC は、OCI 標準に従ってコンテナを作成および実行する CLI ツールです。OCI 標準に従ってコンテナを実行するためのコマンドライン ツールです。ランタイム実装でもあります。
Docker
古いバージョンでは docker-runc
を呼び出す必要がありますが、最新の CE バージョンでは, runc
コマンドに直接変更しました。
#RunC はコンテナーの最下位の実行環境であり、その上位層は Docker を通じて管理されます。
runC は docker の中核部分であり、コンテナの作成、実行、破棄などの操作は最終的に runc を呼び出すことで完了します。
独立した操作
RunC はコンテナの実行状態であり、イメージ管理は含まれません。直接使用する場合は、最初にイメージを準備する必要があります。ここでは、すでに構築されている BusyBox テンプレート。
OCI バンドル
OCI バンドルとは、OCI 標準を満たす一連のファイルを指します。これらのファイルには、コンテナの実行に必要なすべてのデータが含まれていますこれらは、次の 2 つの項目を含む共通ディレクトリに保存されます:
-
config.json
実行中のコンテナの構成データが含まれます。コンテナのルート ファイルシステム。 - Docker がホストにインストールされている場合は、
コマンドを使用して、既存のイメージを OCI バンドル形式にエクスポートできます。
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
構成内の
「ターミナル」を変更してください。 file: true は false
に変更されます。それ以外の場合は、作成時に cannot assign tty if runc will detach without set console submits
が報告されます。 さらに、ターミナルが閉じているため、コマンドは
パラメーターに変更されます。
Start
----- 创建容器并查看状态 # runc create mybusybox # runc list ----- 启动容器,并查看状态 # runc start mybusybox ----- 删除容器 # runc delete mybusybox
を参照してください。特定のコマンド。 一般的なコマンド
----- 查看容器状态
# runc state mybusybox
----- 容器内运行进程
# runc ps mybusybox
----- 在容器中执行命令
# runc exec mybusybox ls
----- 停止容器内的任务
# runc kill mybusybox
----- 暂停容器内的所有进程
# runc pause mybusybox
----- 恢复容器内进程的执行
# runc resume mybusybox
----- 获取容器的资源使用情况
# runc events mybusybox
ログイン後にコピーホット マイグレーション
は、コンテナ上で CheckPoint 操作を実行し、一連のファイルを取得し、それを開始します。他のマシンも。
----- 查看容器状态 # runc state mybusybox ----- 容器内运行进程 # runc ps mybusybox ----- 在容器中执行命令 # runc exec mybusybox ls ----- 停止容器内的任务 # runc kill mybusybox ----- 暂停容器内的所有进程 # runc pause mybusybox ----- 恢复容器内进程的执行 # runc resume mybusybox ----- 获取容器的资源使用情况 # runc events mybusybox
推奨される学習: 「
docker ビデオ チュートリアル以上がDocker の runc とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Dockerコンテナを終了する4つの方法:コンテナ端子でCtrl Dを使用するコンテナターミナルに出口コマンドを入力しますDocker stop< container_name>コマンドを使用するDocker Kill< container_name>ホストターミナルのコマンド(フォース出口)

Dockerの外部ホストにファイルをコピーする方法:Docker CPコマンドを使用:Docker CP [Options]< Container Path> <ホストパス>。データボリュームの使用:ホストにディレクトリを作成し、-vパラメーターを使用してコンテナを作成するときにディレクトリをコンテナにマウントして、双方向ファイルの同期を実現します。

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Dockerコンテナを再起動する方法:コンテナID(Docker PS)を取得します。コンテナを停止します(docker stop< container_id>);コンテナを起動します(docker start< container_id>);再起動が成功していることを確認します(Docker PS)。その他の方法:Docker Compose(Docker-Compose Restart)またはDocker API(Dockerドキュメントを参照)。

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

Dockerプロセス表示方法:1。DockerCLIコマンド:Docker PS; 2。SystemDCLIコマンド:SystemCTL Status Docker; 3。CLIコマンドを作成するDocker:Docker-Compose PS。 4。プロセスエクスプローラー(Windows); 5。 /procディレクトリ(Linux)。

国内のミラーソースに切り替えることができます。手順は次のとおりです。1。構成ファイル/etc/docker/daemon.jsonを編集し、ミラーソースアドレスを追加します。 2。保存して終了した後、Docker Service Sudo SystemCtlを再起動してDockerを再起動して、画像のダウンロード速度と安定性を改善します。
