Docker & Docker Compose安裝教程
更新時間:2026年01月13日 08:42:17 作者:techzhi
本文詳細介紹了在Ubuntu 22.04.1 LTS系統(tǒng)上安裝和配置Docker的步驟,包括選擇合適的存儲驅(qū)動和日志驅(qū)動,生產(chǎn)級配置以及用戶權(quán)限管理,通過一系列檢查步驟和常用命令,確保Docker安裝和配置的正確性
1. 環(huán)境信息
| 項目 | 值 |
|---|---|
| 操作系統(tǒng) | Ubuntu 22.04.1 LTS (Jammy) |
| 內(nèi)核版本 | 5.15.0-164-generic |
| 存儲位置 | /var/lib/docker (根分區(qū),282G可用) |
| 文件系統(tǒng) | XFS |
2. 安裝方案概述
2.1 安裝方式
采用 Docker 官方 APT 倉庫安裝,確保獲取最新穩(wěn)定版本和安全更新。
2.2 安裝組件
| 組件 | 說明 |
|---|---|
| docker-ce | Docker Engine 社區(qū)版 |
| docker-ce-cli | Docker 命令行工具 |
| containerd.io | 容器運行時 |
| docker-buildx-plugin | 構(gòu)建擴展插件 |
| docker-compose-plugin | Docker Compose V2 插件 |
2.3 生產(chǎn)級配置
| 配置項 | 設(shè)置 | 說明 |
|---|---|---|
| 存儲驅(qū)動 | overlay2 | Ubuntu 默認,性能最優(yōu) |
| 日志驅(qū)動 | json-file | 默認驅(qū)動,配置輪轉(zhuǎn)限制 |
| 日志大小限制 | 100MB/文件,3個文件 | 防止日志占滿磁盤 |
| 開機自啟 | 啟用 | systemd 管理 |
| 用戶權(quán)限 | 當前用戶加入 docker 組 | 免 sudo 運行 |
| 鏡像加速 | 國內(nèi)鏡像源 | 加速鏡像拉取 |
3. 實施步驟
3.1 卸載舊版本(如有)
sudo apt-get remove -y docker docker-engine docker.io containerd runc 2>/dev/null || true
3.2 安裝依賴包
sudo apt-get update
sudo apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
3.3 添加 Docker 官方 GPG 密鑰
sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
3.4 添加 Docker APT 倉庫
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
3.5 安裝 Docker Engine
sudo apt-get update
sudo apt-get install -y \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin
3.6 配置 Docker Daemon(生產(chǎn)級配置)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
},
"storage-driver": "overlay2",
"live-restore": true,
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.xuanyuan.me"
]
}
EOF
配置說明:
| 參數(shù) | 說明 |
|---|---|
| log-driver | 日志驅(qū)動,json-file 為默認 |
| max-size | 單個日志文件最大 100MB |
| max-file | 最多保留 3 個日志文件 |
| storage-driver | 存儲驅(qū)動,overlay2 性能最優(yōu) |
| live-restore | 容器在 daemon 重啟時保持運行 |
| registry-mirrors | 國內(nèi)鏡像加速器地址 |
3.7 啟動 Docker 并設(shè)置開機自啟
sudo systemctl daemon-reload sudo systemctl enable docker sudo systemctl start docker
3.8 配置用戶權(quán)限
sudo usermod -aG docker $USER
注意: 執(zhí)行后需要重新登錄或執(zhí)行 newgrp docker 使權(quán)限生效。
3.9 驗證安裝
# 檢查 Docker 版本 docker --version # 檢查 Docker Compose 版本 docker compose version # 檢查 Docker 服務狀態(tài) sudo systemctl status docker # 運行測試容器 docker run --rm hello-world
4. 驗證清單
| 檢查項 | 預期結(jié)果 | 命令 |
|---|---|---|
| Docker 版本 | 顯示版本號 | docker --version |
| Compose 版本 | 顯示版本號 | docker compose version |
| 服務狀態(tài) | active (running) | systemctl status docker |
| 開機自啟 | enabled | systemctl is-enabled docker |
| 用戶權(quán)限 | 免 sudo 運行 | docker ps |
| 存儲驅(qū)動 | overlay2 | docker info | grep "Storage Driver" |
| 測試容器 | Hello from Docker! | docker run --rm hello-world |
5. 常用命令參考
# 查看 Docker 詳細信息 docker info # 查看運行中的容器 docker ps # 查看所有容器 docker ps -a # 查看鏡像列表 docker images # 清理未使用資源 docker system prune -a # 查看磁盤使用情況 docker system df
6. 故障排查
6.1 服務啟動失敗
sudo journalctl -xeu docker.service
6.2 權(quán)限問題
# 確認用戶在 docker 組 groups $USER # 重新加載組權(quán)限 newgrp docker
6.3 網(wǎng)絡問題
# 檢查 Docker 網(wǎng)絡 docker network ls # 重置 Docker 網(wǎng)絡 sudo systemctl restart docker
7. 文檔信息
| 項目 | 值 |
|---|---|
| 創(chuàng)建時間 | 2026-01-10 |
| 目標系統(tǒng) | Ubuntu 22.04.1 LTS |
| Docker 版本 | 29.1.4 |
| Docker Compose 版本 | v5.0.1 |
| containerd 版本 | 2.2.1 |
8. 總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker-swarm之使用Docker secret管理敏感數(shù)據(jù)
就Docker Swarm集群服務而言,secret 是塊狀數(shù)據(jù),例如密碼、SSH私鑰、SSL證書或其他不應通過網(wǎng)絡傳輸或未加密存儲在Dockerfile或應用程序源代碼中的數(shù)據(jù),我們可以使用Docker secret 集中管理這些數(shù)據(jù),所以接下來就帶大家了解一下如何使用Docker secret 管理敏感數(shù)據(jù)2023-08-08
docker?Desktop安裝WSL?--update報錯問題成功解決辦法
這篇文章主要介紹了如何在Windows?11上設(shè)置WSL2為默認版本,解決WSL2安裝和卸載過程中遇到的問題,包括強制中斷命令、wsl--uninstall命令無效以及手動刪除Linux發(fā)行版的方法,需要的朋友可以參考下2025-02-02
vscode 遠程連接服務器docker容器的設(shè)置方法
本文主要介紹了vscode 遠程連接服務器docker容器的設(shè)置方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
Docker使用Buildx多架構(gòu)鏡像構(gòu)建指南
Docker Buildx支持多平臺鏡像構(gòu)建,解決ARM/x86架構(gòu)兼容性問題,提升部署效率,通過QEMU模擬與跨平臺功能,實現(xiàn)一次構(gòu)建多架構(gòu)鏡像,本指南將逐步介紹如何使用Buildx構(gòu)建多架構(gòu)鏡像,并優(yōu)化構(gòu)建性能,感興趣的朋友一起看看吧2025-08-08

