如何搭建完整的docker版ubuntu


0x01 前面的碎碎念

最近社團的服務器重新裝了系統,學長裝的CTFd被清空了,我要重新裝一次。老師還說服務器要給他們實驗室做實驗用,讓我小心點,別搞壞了(手動捂臉)。於是我就決定將整個平台在本機docker里操作,然后打包到服務器上,這樣到時候出了問題也怪不到我。

其實這次搭建還是有點野心的,我想實現XCTF那種動態發放容器的功能。這個可能得后面再更新了。

0x02 docker安裝

裝docker是好久之前裝的了,也沒什么坑,網上的教程都有,就不演示了。這里推薦菜鳥教程的docker教程,個人認為docker基礎用法,這個網站是相對比較完整而且翻譯比較好的。

Docker 教程 | 菜鳥教程

0x03 鏡像拉取與容器構建

因為需要完整的操作系統,所以選擇了linux,而我自己本身也是用的kali,所以就選擇了用的更順手的ubuntu。默認是最新版本(20.04 LTS),直接

docker pull ubuntu

這里可以選擇更換docker國內鏡像源加速,如果出現連接失敗或者下載速度過慢,可以嘗試更換。

因為需要使用這個系統進行LAMP開發,所以不能使用docker自帶的端口通信,將不同容器鏈接(比如菜鳥演示的單獨下載nginx和php,並鏈接起來),實際上,我認為直接使用虛擬系統操作比端口通信更簡單(我是懶狗,我攤牌了)
下載后會得到一個鏡像ID,使用docker images可以查看所有鏡像。
以后調用這個鏡像,可以使用直接名字ubuntu,默認使用tag:latest,或者可以使用ID調用。這里說個小技巧,在不會出現歧義的情況下,所有的ID都可以只寫前兩位。
docker run -dit fb docker run -dit ubuntu
換言之,這兩種方法是等效的。
解釋一下參數

-d: 后台運行容器,並返回容器ID;
-i: 以交互模式運行容器,通常與 -t 同時使用;
-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用

構建鏡像后,還需要啟動和鏈接
docker start xx(容器ID) docker attach xx(容器ID)
此時成功進入虛擬機系統。

0x04一些鏡像配置

非最小化

需要對系統進行非最小化處理,否則會出現各種依賴錯誤。這里只需要一行命令

unminimize

這個腳本是系統內置的,在終端輸入這行命令一路y就行了。

換源(非必需)

換源的目的是為了加速下載,后面下載的東西多,如果不換的話速度太慢了,但是如果你覺得麻煩可以省去這一步。
在更改sourse.list之前還需要下載CA證書,否則無法換源
使用命令

apt install ca-certificates

因為沒有vim,所以只能使用echo進行簡單處理。換源前備份一下

cp /etc/apt/sources.list /etc/apt/sources.list.bak
echo deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse -> /etc/apt/sources.list

輸入以下命令

apt update
apt upgarde
apt install vim

下載vim,然后將這個復制到sources.list里

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

0x05打包鏡像

到這里可以暫時停止打包一下鏡像,如果后面出了問題也方便版本回滾image

docker commit 容器id 容器名字:容器標簽

-a是標注作者,寫不寫都行。

今天就寫到這,有時間再更


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM