Docker 部署 Debian 全流程教程
在開始 Debian 鏡像拉取與部署操作前,我們先明確 Debian 的核心價值與 Docker 部署的優(yōu)勢——這能幫助你更清晰地理解后續(xù)操作的實際意義,而非單純機械執(zhí)行命令。
關(guān)于 Debian:核心功能與價值
Debian 是一款完全由自由及開源軟件構(gòu)成的 Linux 發(fā)行版,由全球志愿者社區(qū)協(xié)作維護,始終堅守軟件自由與開源核心原則,在開源生態(tài)中占據(jù)基石地位。其核心價值可概括為四點:
- 穩(wěn)定性極強:所有軟件包經(jīng)過嚴(yán)格測試,官方長期支持(LTS)版本提供長達(dá) 5 年的安全更新,是服務(wù)器場景的首選系統(tǒng)之一;
- 生態(tài)基礎(chǔ):作為 Ubuntu、Deepin 等主流發(fā)行版的底層基礎(chǔ),兼容絕大多數(shù) Linux 軟件與開發(fā)工具,降低應(yīng)用遷移成本;
- 多架構(gòu)支持:覆蓋 amd64、arm64v8、riscv64 等 9 種硬件架構(gòu),可適配從個人電腦到大型服務(wù)器、嵌入式設(shè)備的全場景需求;
- 輕量化可選:提供標(biāo)準(zhǔn)版與 slim 精簡版鏡像,slim 變體移除 man 頁、文檔等非必需文件,最小鏡像體積僅數(shù)十 MB,適合資源受限場景。
無論是搭建開發(fā)環(huán)境、運行后端服務(wù),還是構(gòu)建嵌入式系統(tǒng),Debian 都能憑借“可靠、兼容、靈活”的特性提供穩(wěn)定支撐。
為什么用 Docker 部署 Debian?核心優(yōu)勢
傳統(tǒng)方式安裝 Debian(如光盤刻錄、虛擬機鏡像部署)常面臨環(huán)境配置繁瑣、多版本沖突、遷移困難等問題(例如:開發(fā)環(huán)境需 Debian 12,測試環(huán)境卻為 Debian 11,依賴庫版本差異導(dǎo)致應(yīng)用報錯;物理機重裝系統(tǒng)后需重新配置所有環(huán)境)。而 Docker 部署能完美解決這些痛點,核心優(yōu)勢如下:
- 環(huán)境秒級搭建:Debian 鏡像已預(yù)打包完整系統(tǒng)環(huán)境,無需手動分區(qū)、安裝依賴,拉取鏡像后一鍵啟動即可獲得可用系統(tǒng),比傳統(tǒng)安裝效率提升 10 倍以上;
- 多版本隔離共存:可同時運行 Debian 11、12、13 等多個版本容器,不同項目使用不同系統(tǒng)版本,互不干擾(如舊項目依賴 Debian 11 的 libssl 版本,新項目可使用 Debian 12 最新特性);
- 資源占用低:Docker 容器采用進程級隔離,比虛擬機節(jié)省 80% 以上資源,Debian 容器啟動僅需秒級,空閑時內(nèi)存占用可低至數(shù)十 MB;
- 遷移與備份便捷:容器可通過鏡像導(dǎo)出為壓縮包,復(fù)制到任意支持 Docker 的設(shè)備上直接運行,實現(xiàn)“一次配置,處處可用”,無需擔(dān)心系統(tǒng)差異;
- 運維成本低:通過 Docker 命令可快速實現(xiàn) Debian 容器的啟停、日志查看、鏡像更新,無需掌握復(fù)雜的 Linux 系統(tǒng)配置技巧,新手也能快速上手。
?? 準(zhǔn)備工作
若你的系統(tǒng)尚未安裝 Docker,請優(yōu)先使用軒轅鏡像提供的一鍵安裝腳本——該腳本已集成鏡像加速配置,可避免后續(xù)鏡像拉取慢、安裝失敗等問題。
Linux Docker & Docker Compose 一鍵安裝(軒轅專屬)
該腳本支持 CentOS、Ubuntu、Debian 等主流 Linux 發(fā)行版,可一鍵完成 Docker 引擎、Docker Compose 安裝,并自動配置軒轅鏡像加速源,無需手動修改配置文件。
# 軒轅鏡像專屬安裝腳本(含加速配置)
bash <(wget -qO- https://xuanyuan.cloud/docker.sh)
安裝驗證
執(zhí)行以下命令,若能顯示 Docker 版本信息,說明安裝成功:
docker --version # 驗證 Docker 引擎
docker compose version # 驗證 Docker Compose
環(huán)境檢查
確保系統(tǒng)滿足以下條件(腳本會自動校驗,無需手動操作):
- 系統(tǒng)內(nèi)核版本 ≥ 4.15(Linux 系統(tǒng));
- 剩余磁盤空間 ≥ 10GB(Debian 鏡像 + 后續(xù)應(yīng)用安裝需預(yù)留空間);
- 網(wǎng)絡(luò)通暢(需訪問軒轅鏡像倉庫拉取資源)。
1、查看 Debian 鏡像信息
你可以在 軒轅鏡像平臺 查看 Debian 鏡像的完整信息(含版本標(biāo)簽、架構(gòu)支持、更新日志):
?? https://xuanyuan.cloud/r/library/debian
平臺提供了所有官方支持的鏡像標(biāo)簽(如 latest、12-slim、13),并標(biāo)注了各標(biāo)簽對應(yīng)的系統(tǒng)版本,可根據(jù)需求選擇合適的標(biāo)簽拉取。
2、下載 Debian 鏡像(軒轅鏡像加速)
軒轅鏡像提供多種拉取方式,支持免登錄、登錄驗證等場景,以下是最常用的 4 種方式,可根據(jù)實際環(huán)境選擇:
2.1 免登錄方式拉取(推薦,新手首選)
無需注冊登錄軒轅鏡像平臺,直接通過加速地址拉取,命令如下:
# 拉取最新穩(wěn)定版(對應(yīng) Debian 13 trixie)
docker pull xxx.xuanyuan.run/library/debian:latest
# 拉取指定版本(如 Debian 12 slim 精簡版)
docker pull xxx.xuanyuan.run/library/debian:12-slim
說明:
xxx.xuanyuan.run是軒轅鏡像的免登錄加速地址,無需配置認(rèn)證信息,直接執(zhí)行即可;- 標(biāo)簽說明:
latest始終指向最新穩(wěn)定版,12-slim表示 Debian 12 的精簡版(體積更小),完整標(biāo)簽列表可參考軒轅鏡像平臺的 Debian 鏡像頁面。
2.2 登錄驗證方式拉取(適合企業(yè)級場景)
若需使用軒轅鏡像專業(yè)版的穩(wěn)定加速節(jié)點,可先登錄平臺再拉取,步驟如下:
# 1. 登錄軒轅鏡像(替換為你的平臺賬號密碼)
docker login docker.xuanyuan.run -u 你的用戶名 -p 你的密碼
# 2. 拉取鏡像(專業(yè)版加速地址,穩(wěn)定性更高)
docker pull docker.xuanyuan.run/library/debian:13
# 3. 退出登錄(可選,增強安全性)
docker logout docker.xuanyuan.run
2.3 拉取后重命名(適配官方命令習(xí)慣)
若習(xí)慣使用 library/debian:標(biāo)簽 的官方標(biāo)準(zhǔn)名稱(如后續(xù)編寫 Dockerfile 時兼容官方語法),可拉取后重命名,命令如下:
# 拉取軒轅鏡像并命名為官方標(biāo)準(zhǔn)名稱
docker pull xxx.xuanyuan.run/library/debian:latest \
&& docker tag xxx.xuanyuan.run/library/debian:latest library/debian:latest \
&& docker rmi xxx.xuanyuan.run/library/debian:latest
說明:
docker tag僅修改鏡像標(biāo)簽,不復(fù)制鏡像文件,不會占用額外存儲空間;- 重命名后,后續(xù)可直接使用
library/debian:latest啟動容器,與官方命令完全一致。
2.4 官方直連方式(需配置鏡像加速)
若已通過軒轅鏡像一鍵安裝腳本配置了鏡像加速器,可直接使用官方命令拉取(底層自動通過軒轅鏡像加速):
# 自動通過軒轅加速源拉取,無需手動修改地址
docker pull library/debian:11
2.5 鏡像拉取成功驗證
執(zhí)行以下命令,若輸出包含 library/debian 相關(guān)記錄,說明拉取成功:
docker images
示例輸出(鏡像 ID、創(chuàng)建時間會因版本不同略有差異):
REPOSITORY TAG IMAGE ID CREATED SIZE
library/debian latest 2e87bcea7869 1 week ago 124MB
library/debian 12-slim f88636f98c00 1 week ago 43.2MB
3、部署 Debian 容器(三種場景方案)
以下基于拉取成功的 library/debian 鏡像,提供三種部署方案,可根據(jù)使用場景選擇(推薦新手從“快速部署”開始,逐步熟悉后過渡到“掛載目錄”或“docker-compose”方案)。
3.1 快速部署(測試/臨時使用)
適合快速驗證 Debian 環(huán)境、臨時執(zhí)行命令等場景,無需持久化數(shù)據(jù),命令如下:
# 啟動 Debian 容器,命名為 debian-test,后臺運行
docker run -d --name debian-test \
--privileged=true \ # 授予容器管理員權(quán)限(便于執(zhí)行系統(tǒng)級命令)
library/debian:latest
核心參數(shù)說明:
--name debian-test:為容器指定唯一名稱,后續(xù)可通過名稱操作容器(如停止、進入);-d:后臺運行容器(避免占用當(dāng)前終端);--privileged=true:允許容器內(nèi)執(zhí)行apt update、systemctl等系統(tǒng)命令,默認(rèn)權(quán)限下部分命令會報錯。
進入容器操作(驗證部署結(jié)果):
# 進入 debian-test 容器的交互式終端(bash shell)
docker exec -it debian-test bash
進入后可執(zhí)行 Debian 系統(tǒng)命令,例如:
cat /etc/debian_version # 查看 Debian 版本
apt update # 更新軟件源(測試網(wǎng)絡(luò)與權(quán)限)
3.2 掛載目錄部署(推薦,適合實際項目)
通過掛載宿主機目錄,實現(xiàn) 數(shù)據(jù)持久化(如 apt 緩存、日志文件、自定義配置)和 文件共享(宿主機與容器雙向訪問文件),避免容器刪除后數(shù)據(jù)丟失。步驟如下:
第一步:創(chuàng)建宿主機掛載目錄
先在宿主機創(chuàng)建用于掛載的目錄(建議統(tǒng)一放在 /data 下,便于管理):
# 一次性創(chuàng)建 apt(軟件緩存)、logs(系統(tǒng)日志)、data(自定義數(shù)據(jù))三個目錄
mkdir -p /data/debian/{apt,logs,data}
第二步:啟動容器并掛載目錄
docker run -d --name debian-prod \
--privileged=true \
-v /data/debian/apt:/var/cache/apt \ # 掛載 apt 緩存目錄(避免重復(fù)下載軟件包)
-v /data/debian/logs:/var/log \ # 掛載系統(tǒng)日志目錄(宿主機可直接查看日志)
-v /data/debian/data:/root/data \ # 掛載自定義數(shù)據(jù)目錄(存放項目文件)
library/debian:latest
目錄映射說明(清晰對應(yīng)掛載關(guān)系):
| 宿主機目錄 | 容器內(nèi)目錄 | 核心用途 |
|---|---|---|
/data/debian/apt |
/var/cache/apt |
保存 apt 下載的軟件包緩存,下次安裝更快 |
/data/debian/logs |
/var/log |
容器系統(tǒng)日志實時同步到宿主機,便于排查問題 |
/data/debian/data |
/root/data |
存放自定義腳本、項目文件,實現(xiàn)數(shù)據(jù)持久化 |
實用操作示例:
- 宿主機向容器傳文件:
# 將宿主機的 test.sh 腳本傳到容器的 /root/data 目錄 cp /home/user/test.sh /data/debian/data/ - 容器內(nèi)軟件安裝持久化:
即使刪除容器,下次啟動新容器時掛載相同目錄,再次安裝 nginx 會直接使用緩存,無需重新下載。# 進入容器 docker exec -it debian-prod bash # 安裝 nginx(緩存會保存在宿主機 /data/debian/apt) apt update && apt install -y nginx
3.3 docker-compose 部署(企業(yè)級場景)
通過 docker-compose.yml 文件統(tǒng)一管理容器配置(如鏡像版本、掛載目錄、重啟策略),支持一鍵啟動/停止/重啟,適合多容器協(xié)同場景(如 Debian 容器 + 數(shù)據(jù)庫容器)。步驟如下:
第一步:創(chuàng)建 docker-compose.yml 文件
在任意目錄(如 /data/debian-compose)創(chuàng)建文件,內(nèi)容如下:
version: '3.8' # 兼容主流 Docker 版本
services:
debian:
image: library/debian:latest # 使用的 Debian 鏡像
container_name: debian-service # 容器名稱
privileged: true # 授予管理員權(quán)限
volumes:
- ./apt:/var/cache/apt # 相對路徑(與 yml 文件同目錄),掛載 apt 緩存
- ./logs:/var/log # 掛載系統(tǒng)日志
- ./data:/root/data # 掛載自定義數(shù)據(jù)
restart: always # 容器退出后自動重啟(保障服務(wù)可用性,適合長期運行)
command: tail -f /dev/null # 保持容器后臺運行(Debian 默認(rèn)啟動后會立即退出)
第二步:啟動容器服務(wù)
- 進入
docker-compose.yml所在目錄:cd /data/debian-compose - 一鍵啟動(自動創(chuàng)建掛載目錄并啟動容器):
docker compose up -d
常用管理命令:
- 停止服務(wù):
docker compose down(不會刪除掛載目錄數(shù)據(jù)); - 查看狀態(tài):
docker compose ps(查看容器運行狀態(tài)); - 重啟服務(wù):
docker compose restart(修改 yml 文件后需執(zhí)行)。
4、部署結(jié)果驗證(確保服務(wù)正常)
通過以下 3 種方式驗證 Debian 容器是否部署成功,覆蓋“運行狀態(tài)”“功能可用性”“數(shù)據(jù)持久化”三個維度:
4.1 基礎(chǔ)狀態(tài)驗證
# 查看容器運行狀態(tài)(STATUS 顯示 Up 表示正常)
docker ps | grep debian
# 示例輸出(Up 后面的時間表示運行時長)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 library/debian:latest "tail -f /dev/null" 5 minutes ago Up 5 minutes debian-service
4.2 功能可用性驗證
進入容器執(zhí)行系統(tǒng)命令,測試核心功能是否正常:
# 進入容器
docker exec -it 容器名稱/ID bash
# 執(zhí)行以下命令,無報錯即表示功能正常
cat /etc/os-release # 查看系統(tǒng)信息(確認(rèn) Debian 版本)
apt update # 更新軟件源(測試網(wǎng)絡(luò)連通性)
apt install -y curl # 安裝軟件(測試權(quán)限與 apt 功能)
curl https://baidu.com # 測試網(wǎng)絡(luò)訪問(驗證 DNS 與外網(wǎng)連通)
4.3 數(shù)據(jù)持久化驗證
測試掛載目錄是否正常工作(以 /data/debian/data 為例):
- 進入容器,在掛載目錄創(chuàng)建文件:
docker exec -it debian-prod bash echo "Debian 持久化測試" > /root/data/test.txt exit # 退出容器 - 宿主機查看文件是否同步:
若輸出cat /data/debian/data/test.txtDebian 持久化測試,說明掛載目錄正常,數(shù)據(jù)已持久化到宿主機。
5、常見問題排查(新手必看)
部署過程中若遇到問題,可按以下方向排查(結(jié)合軒轅鏡像特性與 Debian 容器特點):
5.1 鏡像拉取慢/失敗?
排查步驟:
- 確認(rèn)使用軒轅加速地址:優(yōu)先使用
xxx.xuanyuan.run或docker.xuanyuan.run地址,避免直接拉取 Docker Hub(海外地址,速度慢); - 檢查網(wǎng)絡(luò)連通性:執(zhí)行
ping xxx.xuanyuan.run,若無法 ping 通,需檢查服務(wù)器網(wǎng)絡(luò)是否允許訪問該域名; - 重新執(zhí)行安裝腳本:若已安裝 Docker 但拉取慢,可能是加速源未配置成功,重新執(zhí)行軒轅一鍵安裝腳本:
bash <(wget -qO- https://xuanyuan.cloud/docker.sh)
5.2 容器啟動后立即退出?
原因:
Debian 鏡像默認(rèn)啟動后會執(zhí)行 bash 命令,若未開啟交互式終端(-it)或后臺運行(-d)且無持續(xù)運行的命令,容器會自動退出。
解決方法:
- 快速測試場景:添加
-it參數(shù)進入交互式終端,避免退出:docker run -it --name debian-test library/debian:latest bash - 長期運行場景:添加
command參數(shù)指定持續(xù)運行的命令(如tail -f /dev/null),參考 3.3 節(jié)的 docker-compose 配置。
5.3 容器內(nèi) apt update 失敗?
常見原因及解決:
- 權(quán)限不足:啟動容器時未添加
--privileged=true,導(dǎo)致 apt 無法寫入緩存目錄,重新啟動容器并添加該參數(shù); - 源地址不可用:Debian 默認(rèn)使用
deb.debian.org源,部分地區(qū)訪問不穩(wěn)定,可替換為軒轅鏡像的 Debian 源:# 進入容器后執(zhí)行(替換源配置) echo "deb https://mirror.xuanyuan.cloud/debian/ trixie main contrib non-free" > /etc/apt/sources.list echo "deb https://mirror.xuanyuan.cloud/debian-security/ trixie-security main contrib non-free" >> /etc/apt/sources.list apt update # 重新更新 - 網(wǎng)絡(luò)問題:檢查容器是否能訪問外網(wǎng)(執(zhí)行
ping 8.8.8.8),若無法訪問,需檢查宿主機防火墻是否限制容器網(wǎng)絡(luò)。
5.4 宿主機無法訪問容器內(nèi)文件?
排查步驟:
- 確認(rèn)掛載目錄路徑正確:檢查
docker run命令中的-v參數(shù),宿主機目錄需使用絕對路徑(如/data/debian/data,而非./data); - 權(quán)限問題:宿主機目錄的權(quán)限可能限制容器訪問,修改宿主機目錄權(quán)限:
chmod -R 777 /data/debian # 測試場景臨時開放權(quán)限,生產(chǎn)環(huán)境需按需配置 - 容器是否正常運行:只有容器處于
Up狀態(tài)時,掛載目錄才會同步,執(zhí)行docker start 容器名啟動停止的容器。
5.5 容器內(nèi)時區(qū)不正確?
解決方法:
啟動容器時添加時區(qū)環(huán)境變量(以上海時區(qū) Asia/Shanghai 為例):
# 快速部署場景
docker run -d --name debian-test --privileged=true -e TZ=Asia/Shanghai library/debian:latest
# 掛載目錄場景(添加 -e 參數(shù))
docker run -d --name debian-prod --privileged=true -e TZ=Asia/Shanghai \
-v /data/debian/apt:/var/cache/apt \
library/debian:latest
結(jié)尾
至此,你已掌握基于軒轅鏡像的 Debian 鏡像拉取與 Docker 部署全流程——從環(huán)境準(zhǔn)備、多方式鏡像拉取,到三種場景的部署實踐,再到常見問題排查,每個步驟都配備了可直接復(fù)制的命令和清晰的邏輯說明。
對于初學(xué)者,建議先通過“快速部署”熟悉 Debian 容器的基本操作,再嘗試“掛載目錄”方案理解數(shù)據(jù)持久化的意義,最后根據(jù)業(yè)務(wù)需求進階到“docker-compose”管理;對于企業(yè)用戶,優(yōu)先選擇“登錄驗證方式拉取鏡像”和“docker-compose 部署”,確保鏡像拉取穩(wěn)定性和服務(wù)可運維性。
在實際使用中,若遇到本文未覆蓋的問題,可通過以下途徑獲取幫助:軒轅鏡像平臺客服、Debian 官方社區(qū)(Server Fault、Stack Overflow),或結(jié)合 docker logs 容器名 查看日志定位原因。隨著實踐深入,你還可以基于本文基礎(chǔ),在 Debian 容器中搭建開發(fā)環(huán)境、部署后端服務(wù)、構(gòu)建自定義鏡像,充分發(fā)揮 Debian 的穩(wěn)定性與 Docker 的靈活性優(yōu)勢。

Debian 是一款完全由自由及開源軟件構(gòu)成的 Linux 發(fā)行版,由全球志愿者社區(qū)協(xié)作維護,始終堅守軟件自由與開源核心原則,在開源生態(tài)中占據(jù)基石地位。無論是搭建開發(fā)環(huán)境、運行后端服務(wù),還是構(gòu)建嵌入式系統(tǒng),Debian 都能憑借“可靠、兼容、靈活”的特性提供穩(wěn)定支撐。
浙公網(wǎng)安備 33010602011771號