Docker 從零開始製作基礎映象 centos

2021-09-07 00:25:24 字數 1609 閱讀 3102

這裡有個統計,docker

官方和個人發布的映象由於版本等各種原因,漏洞較多,那我們如何自己從頭開始做個定製的映象呢?

對,找官方文件 這裡說明的很清楚了

試驗如下:在centos7

機器上做

centos映象

直接參考這個指令碼

./mkimage-yum.sh -y /etc/yum.conf centos7

執行如上指令碼,成功後,就可以看到映象了【docker images】,

概要說明一下,主要是如下幾步:

1.tmp目錄下建立臨時目錄和檔案系統

2.使用yum

安裝相關的軟體包

3.軟體包安裝和資訊定製

4.tar打包

5.清理

target=$(mktemp -d --tmpdir $(basename $0).******)

set -x

mkdir -m 755 "$target"/dev

mknod -m 600 "$target"/dev/console c 5 1

mknod -m 600 "$target"/dev/initctl p

mknod -m 666 "$target"/dev/full c 1 7

mknod -m 666 "$target"/dev/null c 1 3

mknod -m 666 "$target"/dev/ptmx c 5 2

mknod -m 666 "$target"/dev/random c 1 8

mknod -m 666 "$target"/dev/tty c 5 0

mknod -m 666 "$target"/dev/tty0 c 4 0

mknod -m 666 "$target"/dev/urandom c 1 9

mknod -m 666 "$target"/dev/zero c 1 5

# amazon linux yum will fail without vars set

if [ -d /etc/yum/vars ]; then

mkdir -p -m 755 "$target"/etc/yum

cp -a /etc/yum/vars "$target"/etc/yum/

fiyum -c "$yum_config" --installroot="$target" --releasever=/ --setopt=tsflags=nodocs \

--setopt=group_package_types=mandatory -y groupinstall core

yum -c "$yum_config" --installroot="$target" -y clean all

tar --numeric-owner -c -c "$target" . | docker import - $name:$version

docker run -i -t $name:$version echo success

rm -rf "$target"

如果我們需要自己的安全增強軟體等定製,只需要在第2

步將我們的內容合併進去即可

生成的映象可以作為我們工作的基礎,當然你也可以push

到開源社群

從零開始製作rootfs

1 什麼是rootfs,為什麼需要rootfs?核心啟動後會開啟三個程序,分別是 程序0 idle程序 空閒程序,也就是死迴圈 程序1 init程序 掛載根檔案系統,並執行linuxrc這個應用程式從核心態轉為使用者態,開啟使用者態的程序1 init程序 逐步開啟其他程序 程序2 kthreadd程...

從零開始學Docker

我這邊先隨便寫,後期再做總結!docker官網 1.什麼是docker?作用是什麼?可以去官網看,也可以找相關的翻譯。推薦docker中文網,docker是乙個開源的軟體部署解決方案 docker也是輕量級的應用容器框架 docker可以打包 發布 執行任何的應用。2.docker介紹 docker...

docker從零開始 安裝與基礎操作

1.環境 ubuntu 2.為保證版本最新,先移除舊的版本 sudo apt get remove docker docker ce docker io docker engine 3.跟新apt包索引 sudo apt get update 4.安裝包以便使用https使用儲存庫 reposito...