git clone https://github.com/V4bel/dirtyfrag.git
sudo apt install gcc:下載gcc
cd dirtyfrag:切換到dirtyfrag目錄
gcc -o exp exp.c :使用 gcc 編譯器,把 C 語言原始碼 exp.c 編譯成一個叫做 exp 的可執行檔(-o 代表輸出檔名)。
./exp:執行執行檔exp

從一般的身份獲得管理員的權限
mkdir test-dockerfile
cd test-dockerfile/
vim Dockerfile
# 使用 Ubuntu 22.04 作為基礎鏡像
FROM ubuntu:22.04
# 更新套件清單並安裝 apache2
RUN apt-get update && apt-get install -y apache2
# 從本地複製 index.html 到容器內的預設網頁目錄
# 注意:這會覆蓋 Apache 預設的 index.html
COPY index.html /var/www/html/index.html
# 告知 Docker 容器內部會監聽 80 埠
EXPOSE 80
# 啟動後自動執行 Apache
# 使用 -D FOREGROUND 是為了讓進程留在前台,否則容器啟動後會立即退出
CMD ["apachectl", "-D", "FOREGROUND"]
cat Dockerfile

FROM ubuntu:22.04 (基礎作業系統)含意:指定這張自製映像檔的「基底」是 Ubuntu 22.04 官方作業系統。
比喻:就像蓋房子要先選好地基,這裡我們選擇在 Ubuntu 系統上開始蓋我們的網頁伺服器。
RUN apt-get update && apt-get install -y apache2 (安裝環境)含意:在建立映像檔的過程中,在裡面執行 Linux 指令,更新軟體源並安裝 Apache 網頁伺服器(y 代表自動同意所有確認提示)。
重要性:RUN 指令發生的時間點是在「做杯子(做映像檔)」的時候,而不是「裝水(跑容器)」的時候。