Rumah >Operasi dan penyelenggaraan >Docker >Apakah runc dalam docker

Apakah runc dalam docker

青灯夜游
青灯夜游asal
2021-12-30 15:45:576602semak imbas

Dalam docker, RunC ialah alat CLI yang mencipta dan menjalankan bekas mengikut piawaian OCI, alat baris arahan untuk menjalankan bekas yang mengikut piawaian OCI. runC ialah bahagian teras docker Penciptaan, berjalan, pemusnahan dan operasi lain kontena akhirnya akan diselesaikan dengan memanggil runc.

Apakah runc dalam docker

Persekitaran pengendalian tutorial ini: sistem linux5.9.8, versi docker-1.13.1, komputer Dell G3.

OCI mentakrifkan piawaian masa jalan kontena, dan runC ialah pelaksanaan khusus yang dibangunkan oleh Docker mengikut format bekas terbuka standard Open Container Format, OCF.

Projek ini dipindahkan daripada libcontainer Docker dan melaksanakan fungsi seperti mula dan berhenti bekas, pengasingan sumber, dsb., supaya anda boleh menjalankan kontena secara terus melalui alat ini.

Pengenalan

Apa yang dipanggil masa jalan kontena (Container Runtime) termasuk pengurusan kontena dan pengimejan kontena, OCI ialah piawaian industri untuk masa jalan kontena, termasuk:

A) Standard masa jalan spesifikasi masa jalan;

B) Standard imej bekas spesifikasi imej.

Ringkasnya, standard imej bekas mentakrifkan bentuk pembungkusan imej bekas dan standard masa jalan mentakrifkan cara menjalankan bekas.

RunC ialah alat CLI yang mencipta dan menjalankan bekas mengikut piawaian OCI Ia adalah alat baris arahan untuk menjalankan bekas yang mengikut piawaian OCI.

Docker

Dalam versi lama, anda perlu memanggil docker-runc, tetapi dalam versi CE terkini, ia diubah suai terus kepada perintah runc .

Apakah runc dalam docker

RunC ialah persekitaran larian peringkat terendah kontena dan lapisan atasnya diuruskan melalui Docker.

runC ialah bahagian teras docker Penciptaan, berjalan, pemusnahan dan operasi lain kontena akhirnya akan diselesaikan dengan memanggil runc.

Jalankan secara bebas

RunC ialah keadaan berjalan bagi bekas dan tidak termasuk pengurusan imej Jika anda menggunakannya secara langsung, anda perlu menyediakan imej terlebih dahulu di sini, anda boleh terus menggunakan telah membina templat BusyBox.

OCI Bundle

OCI Bundle merujuk kepada siri fail yang memenuhi standard OCI. Fail ini mengandungi semua data yang diperlukan untuk menjalankan bekas. Mereka disimpan dalam direktori biasa, yang mengandungi dua item berikut:

  • config.json Mengandungi data konfigurasi untuk menjalankan bekas
  • Sistem fail akar bekas.

Jika Docker dipasang pada hos, anda boleh menggunakan perintah docker export untuk mengeksport imej sedia ada ke format OCI Bundle.

Jana rootf

Gunakan secara langsung templat BusyBox dalam Docker.

----- 下载最新的版本
$ docker pull busybox

----- 创建rootfs
$ mkdir rootfs
$ docker export $(docker create busybox) | tar -C rootfs -xvf -

Fail konfigurasi

Dalam direktori rootfs, ia mengandungi fail binari biasa, kecuali Dalam Selain direktori akar, fail konfigurasi config.json juga diperlukan dan templat konfigurasi boleh dijana melalui perintah runc spec.

Untuk konfigurasi terperinci, sila rujuk https://github.com/opencontainers/runtime-spec/blob/master/spec.md

Tukar "terminal": true dalam fail konfigurasi kepada false, jika tidak, ralat cannot allocate tty if runc will detach without setting console socket akan dilaporkan semasa penciptaan.

Selain itu, kerana terminal ditutup, arahan diubah suai kepada parameter "args": [ "sleep", "10000" ],.

Mula

----- 创建容器并查看状态
# runc create mybusybox
# runc list

----- 启动容器,并查看状态
# runc start mybusybox

----- 删除容器
# runc delete mybusybox

Selepas bermula, anda boleh melihat arahan khusus melalui ps aux | grep sleep.

Arahan biasa

----- 查看容器状态
# runc state mybusybox

----- 容器内运行进程
# runc ps mybusybox

----- 在容器中执行命令
# runc exec mybusybox ls

----- 停止容器内的任务
# runc kill mybusybox

----- 暂停容器内的所有进程
# runc pause mybusybox

----- 恢复容器内进程的执行
# runc resume mybusybox

----- 获取容器的资源使用情况
# runc events mybusybox

Penghijrahan panas

ialah untuk melaksanakan operasi CheckPoint pada bekas dan mendapatkan satu siri fail, dan kemudian memindahkan mereka ke mesin lain Mulakan.

Pembelajaran yang disyorkan: "tutorial video buruh pelabuhan"

Atas ialah kandungan terperinci Apakah runc dalam docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Apakah sistem boot2docker?Artikel seterusnya:Apakah sistem boot2docker?