Docker & Docker Compose安裝教程
更新時(shí)間:2026年01月13日 08:42:17 作者:techzhi
本文詳細(xì)介紹了在Ubuntu 22.04.1 LTS系統(tǒng)上安裝和配置Docker的步驟,包括選擇合適的存儲(chǔ)驅(qū)動(dòng)和日志驅(qū)動(dòng),生產(chǎn)級(jí)配置以及用戶權(quán)限管理,通過一系列檢查步驟和常用命令,確保Docker安裝和配置的正確性
1. 環(huán)境信息
| 項(xiàng)目 | 值 |
|---|---|
| 操作系統(tǒng) | Ubuntu 22.04.1 LTS (Jammy) |
| 內(nèi)核版本 | 5.15.0-164-generic |
| 存儲(chǔ)位置 | /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 | 容器運(yùn)行時(shí) |
| docker-buildx-plugin | 構(gòu)建擴(kuò)展插件 |
| docker-compose-plugin | Docker Compose V2 插件 |
2.3 生產(chǎn)級(jí)配置
| 配置項(xiàng) | 設(shè)置 | 說明 |
|---|---|---|
| 存儲(chǔ)驅(qū)動(dòng) | overlay2 | Ubuntu 默認(rèn),性能最優(yōu) |
| 日志驅(qū)動(dòng) | json-file | 默認(rèn)驅(qū)動(dòng),配置輪轉(zhuǎn)限制 |
| 日志大小限制 | 100MB/文件,3個(gè)文件 | 防止日志占滿磁盤 |
| 開機(jī)自啟 | 啟用 | systemd 管理 |
| 用戶權(quán)限 | 當(dāng)前用戶加入 docker 組 | 免 sudo 運(yùn)行 |
| 鏡像加速 | 國內(nèi)鏡像源 | 加速鏡像拉取 |
3. 實(shí)施步驟
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)級(jí)配置)
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ū)動(dòng),json-file 為默認(rèn) |
| max-size | 單個(gè)日志文件最大 100MB |
| max-file | 最多保留 3 個(gè)日志文件 |
| storage-driver | 存儲(chǔ)驅(qū)動(dòng),overlay2 性能最優(yōu) |
| live-restore | 容器在 daemon 重啟時(shí)保持運(yùn)行 |
| registry-mirrors | 國內(nèi)鏡像加速器地址 |
3.7 啟動(dòng) Docker 并設(shè)置開機(jī)自啟
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 驗(yàn)證安裝
# 檢查 Docker 版本 docker --version # 檢查 Docker Compose 版本 docker compose version # 檢查 Docker 服務(wù)狀態(tài) sudo systemctl status docker # 運(yùn)行測(cè)試容器 docker run --rm hello-world
4. 驗(yàn)證清單
| 檢查項(xiàng) | 預(yù)期結(jié)果 | 命令 |
|---|---|---|
| Docker 版本 | 顯示版本號(hào) | docker --version |
| Compose 版本 | 顯示版本號(hào) | docker compose version |
| 服務(wù)狀態(tài) | active (running) | systemctl status docker |
| 開機(jī)自啟 | enabled | systemctl is-enabled docker |
| 用戶權(quán)限 | 免 sudo 運(yùn)行 | docker ps |
| 存儲(chǔ)驅(qū)動(dòng) | overlay2 | docker info | grep "Storage Driver" |
| 測(cè)試容器 | Hello from Docker! | docker run --rm hello-world |
5. 常用命令參考
# 查看 Docker 詳細(xì)信息 docker info # 查看運(yùn)行中的容器 docker ps # 查看所有容器 docker ps -a # 查看鏡像列表 docker images # 清理未使用資源 docker system prune -a # 查看磁盤使用情況 docker system df
6. 故障排查
6.1 服務(wù)啟動(dòng)失敗
sudo journalctl -xeu docker.service
6.2 權(quán)限問題
# 確認(rèn)用戶在 docker 組 groups $USER # 重新加載組權(quán)限 newgrp docker
6.3 網(wǎng)絡(luò)問題
# 檢查 Docker 網(wǎng)絡(luò) docker network ls # 重置 Docker 網(wǎng)絡(luò) sudo systemctl restart docker
7. 文檔信息
| 項(xiàng)目 | 值 |
|---|---|
| 創(chuàng)建時(shí)間 | 2026-01-10 |
| 目標(biāo)系統(tǒng) | Ubuntu 22.04.1 LTS |
| Docker 版本 | 29.1.4 |
| Docker Compose 版本 | v5.0.1 |
| containerd 版本 | 2.2.1 |
8. 總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker安裝fastdfs鏡像的一些注意事項(xiàng)
在安裝docker fastdfs鏡像時(shí)大家需要注意如果是云服務(wù)器則需要在云服務(wù)器后臺(tái)的安全組入口方向放開22122、23000以及8888端口,并且在云服務(wù)器防火墻配置放開以上三個(gè)端口,具體內(nèi)容詳情大家跟隨小編一起看看吧2021-05-05
Docker容器化spring boot應(yīng)用詳解
本篇文章主要介紹了Docker容器化spring boot應(yīng)用詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
使用docker創(chuàng)建靜態(tài)網(wǎng)站應(yīng)用(多種方式)
這篇文章主要介紹了使用docker創(chuàng)建靜態(tài)網(wǎng)站應(yīng)用(多種方式),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
SpringBoot打包docker鏡像發(fā)布的詳細(xì)步驟
這篇文章主要介紹了SpringBoot打包docker鏡像發(fā)布,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04
Docker 數(shù)據(jù)卷權(quán)限實(shí)例詳解
這篇文章主要介紹了Docker 數(shù)據(jù)卷權(quán)限實(shí)例詳解的相關(guān)資料,在運(yùn)行Docker 容器的時(shí)候需要添加權(quán)限,這里就給大家舉例說明如何實(shí)現(xiàn),需要的朋友可以參考下2016-11-11

