本文是為需要在Ubuntu系統部署容器服務的開發者準備的詳細教程。我們將分兩個主要部分講解:Docker引擎的標準安裝流程和Docker Compose的配置方法。所有操作均在終端執行,建議使用Ubuntu 18.04及以上版本。
一、Docker引擎安裝全流程
(總耗時約5-10分鐘,需root權限)
1. 系統環境準備
在開始安裝前,建議先更新軟件源并升級現有軟件包:
?
sudo apt-get update # 刷新軟件源索引
sudo apt-get upgrade -y # 自動升級所有可更新軟件包
注意:若系統提示需要重啟(如內核升級),建議執行`sudo reboot`重啟后再繼續
2. 安裝必備依賴組件
?
sudo apt-get install -y \ca-certificates \ # SSL證書支持curl \ # 網絡傳輸工具gnupg \ # 加密簽名工具lsb-release # 系統版本信息工具
這些依賴確保后續安裝過程的安全性和兼容性
3. 官方腳本自動化安裝
推薦使用Docker官方提供的一鍵安裝腳本:
?
curl -fsSL https://test.docker.com -o test-docker.sh # 下載安裝腳本
sh test-docker.sh # 執行安裝程序
說明:此腳本會自動完成以下工作:
- 添加Docker官方GPG密鑰
- 設置穩定版倉庫
- 安裝containerd運行時
- 配置docker-ce核心組件
- 創建docker用戶組
4. 配置國內鏡像加速(關鍵步驟)
由于默認倉庫訪問較慢,需配置鏡像源加速:
?
sudo vim /etc/docker/daemon.json # 使用nano編輯器可替換為sudo nano
輸入以下內容(建議保留3-4個鏡像源):
?
{"registry-mirrors": ["https://docker.m.daocloud.io", # 道克鏡像"https://docker.imgdb.de", # 德國鏡像"https://docker-0.unsee.tech", # 美國西海岸鏡像"https://docker.hlmirror.com" # 香港鏡像]
}保存后按Esc輸入:wq退出vim
5. 重啟服務使配置生效
?
sudo systemctl daemon-reload # 重載服務配置
sudo systemctl restart docker # 重啟docker服務
sudo systemctl enable docker # 設置開機自啟(可選)
驗證服務狀態:
`systemctl status docker`應顯示active(running)
6. 功能驗證測試
執行基礎鏡像拉取測試:
?
sudo docker pull hello-world # 下載測試鏡像
sudo docker run hello-world # 運行測試容器
成功輸出"Hello from Docker!"即表示安裝成功
二、Docker Compose安裝指南
(Docker官方推薦使用插件形式安裝)
1. 執行安裝命令
?
sudo apt install -y docker-compose-plugin # 安裝官方插件版
該版本相較于傳統的docker-compose有以下優勢:
- 直接集成到docker CLI
- 版本與Docker Engine同步更新
- 兼容compose v2語法
2. 驗證安裝結果
?
docker compose version # 注意中間沒有短橫線
預期輸出示例:
Docker Compose version v2.17.2
三、進階配置建議
1. 非root用戶權限配置(可選)
為避免每次使用sudo,可將當前用戶加入docker組:
?
sudo usermod -aG docker $USER # $USER替換為具體用戶名
newgrp docker # 刷新用戶組
注意:修改后需要重新登錄生效
2. 常用維護命令
- 查看docker版本:`docker version`
- 查看系統信息:`docker info`
- 清理無用鏡像:`docker system prune`
四、常見問題排查
Q1:鏡像拉取速度慢
A:檢查daemon.json配置格式,建議注釋掉部分鏡像源測試
Q2:權限拒絕錯誤
A:執行`sudo chmod 777 /var/run/docker.sock`臨時解決,建議使用用戶組方案
Q3:腳本安裝失敗
A:可嘗試官方備用方案:
?
sudo apt-get install docker-ce docker-ce-cli containerd.io
?
五、版本兼容說明
- Docker 23.x+ 已內置Compose插件
- 舊版Compose文件需注意volume語法差異
- 建議定期執行`sudo apt-get upgrade docker-*`保持更新
六、安全建議
1. 定期清理無用鏡像:`docker image prune`
2. 避免使用--privileged特權模式
3. 生產環境建議配置TLS證書加密
通過本教程,您已完成Docker環境的完整部署。接下來可以:
- 嘗試部署Nginx:`docker run -d -p 80:80 nginx`
- 學習Dockerfile編寫
- 使用docker-compose編排多容器應用