使用runc執行alpine linux容器

2021-09-29 11:38:06 字數 1942 閱讀 2901

配置 執行

問題與解決

總結使用runc與oci-image-tool執行容器中雖然成功使用

: 本文命令均在ubuntu 18.04x64下執行通過

getting image source signatures

copying blob 89d9c30c1d48 done

copying config 759e71f0d3 done

writing manifest to image destination

storing signatures

使用oci-image-tool create --ref platform.os=linux alpine alpine-bundle製作符合oci規範的映象,oci-image-tool的安裝與使用參考image-tools github

eric@ubuntu:~/images_tmp$ ls -l alpine-bundle/

total 8

-rw-rw-r-- 1 eric eric 217 nov 9 11:51 config.json

drwxr-x--- 19 eric eric 4096 nov 9 11:51 rootfs

rootfs為根檔案系統,config.json為符合runtime-spec的配置檔案

: 此處要執行的是具有root許可權的容器,因此不建立新的user namespace

capabilities許可權資訊: 容器必須具有許可權去執行操作,config.json檔案中可以現在容器內部許可權

mount掛載資訊: 系統級容器需要掛載必備的檔案系統,如proc sys cgroup

檔案系統中目錄、檔案的可讀可執行許可權: 從根目錄到容器檔案系統內的所有資料夾,以及檔案系統內的所有檔案/資料夾(/home/.../alpine-bundle/rootfs/*)需要至少具有rwxrwxr-x(775)許可權,否則可能會遇到各種各樣的permission denied,可以參考can』t change to home directory, unable-to-su-with-root-bin-bash-permission-denied的第二個回答

如果按照上述過程執行的話應該不會遇到問題,如下的問題是我在摸索過程中遇到的,感興趣的可以參考。

root執行runc run出現chdir錯誤

原因是目標目錄的owner與當前使用者(root)不同,乙個解決方案是chown,參考#2086

alpine容器內新增使用者adduser出錯 -permission denied

容器許可權 - 容器需要setuid, setgid, setfcap等許可權

目錄可執行位 - 容器檔案系統目錄及其父目錄需要有所有使用者的可執行許可權(755: rwxrwxr-x)

alpine容器login/su出錯 -login: can't execute '/bin/ash': permission denied

目錄可讀、可執行位(chmod 755),使用chmod 755 -r rootfs命令將所有檔案許可權設為可讀,參考can』t change to home directory

鏈結庫的可執行位,使用ldd命令檢視鏈結庫,與1同理,參考unable-to-su-with-root-bin-bash-permission-denied的第二個回答

對容器執行時runc的簡單理解

1 容器執行時,傳統意義上來說就是代表容器從拉取映象到啟動執行再到中止的整個生命週期 2 oci標準 docker 公司與 coreos 和 google 共同建立了 oci open container initial 並提供了兩種規範 3 docker和runc的關係 runc是乙個根據oci標...

runC 爆嚴重漏洞,使用容器的快打補丁

runc 是 docker,kubernetes 等依賴容器的應用程式的底層容器執行時,此次爆出的嚴重安全漏洞可使攻擊者以 root 身份在主機上執行任何命令。容器的安全性一直是容器技術的乙個短板。關於容器最大的安全隱患是攻擊者可以使用惡意程式感染容器,更嚴重時可以攻擊主機系統。2月11日,安全研究...

runC 爆嚴重漏洞,使用容器的快打補丁

開發四年只會寫業務 分布式高併發都不會還做程式設計師?runc 是 docker,kubernetes 等依賴容器的應用程式的底層容器執行時,此次爆出的嚴重安全漏洞可使攻擊者以 root 身份在主機上執行任何命令。容器的安全性一直是容器技術的乙個短板。關於容器最大的安全隱患是攻擊者可以使用惡意程式感...