在當今的開發環境中,Docker 已經成為容器化技術的主流選擇。它可以幫助開發者輕松地創建、部署和運行應用程序。本文將詳細介紹如何在 Ubuntu 系統上安裝 Docker 和 Docker Compose,并解決在安裝過程中可能遇到的一些常見問題。
一、安裝 Docker
1.卸載舊版本的 Docker(如果已安裝)
```bash
sudo apt-get remove docker docker-engine docker.io containerd runc
```
2.安裝 Docker 的前提條件
? 更新系統包:
```bash
? sudo apt-get update
? ```
? 安裝必要的依賴包:
```bash
? sudo apt-get install -y ca-certificates curl gnupg
? ```
3.添加 Docker 的官方 GPG 密鑰
```bash
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
```
4.設置 Docker 的 APT 軟件源
```bash
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
```
5.安裝 Docker Engine
? 更新包索引:
```bash
? sudo apt-get update
? ```
? 安裝 Docker Engine 和 containerd:
```bash
? sudo apt-get install -y docker-ce docker-ce-cli containerd.io
? ```
6.驗證 Docker 是否安裝成功
運行以下命令來驗證 Docker 是否正常工作:
```bash
sudo docker run hello-world
```
如果安裝成功,會看到類似以下的輸出:
```
Hello from Docker!
This message shows that your installation appears to be working correctly.
```
7.(可選)將用戶添加到 Docker 組
默認情況下,Docker 命令需要管理員權限(即`sudo`)。為了能夠以普通用戶身份運行 Docker 命令,可以將用戶添加到`docker`組:
```bash
sudo usermod -aG docker ${USER}
```
之后需要重新登錄或重啟系統,使組變更生效。
8.配置國內鏡像源(可選)
由于國外的 Docker Hub 在國內訪問速度較慢,可以配置國內的 Docker 鏡像源來加速鏡像的拉取。以下是配置阿里云鏡像源的步驟:
? 創建或編輯 Docker 配置文件:
```bash
? sudo nano /etc/docker/daemon.json
? ```
? 在文件中添加以下內容:
```json
? {
? ? ? "registry-mirrors": ["https://<你的阿里云鏡像地址>.mirror.aliyuncs.com"]
? }
? ```
? 保存文件并退出編輯器。
? 重新加載 Docker 配置并重啟 Docker 服務:
```bash
? sudo systemctl daemon-reload
? sudo systemctl restart docker
? ```
二、安裝 Docker Compose
方法 1:使用官方二進制文件安裝(推薦)
? 下載 Docker Compose
? 打開終端,運行以下命令下載最新版本的 Docker Compose(以最新版本`v2.32.4`為例):
```bash
? ? ?sudo curl -L "https://github.com/docker/compose/releases/download/v2.32.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
? ? ?```
? 如果 GitHub 下載速度較慢,可以使用國內鏡像源,例如 DaoCloud 的鏡像:
```bash
? ? ?sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/v2.32.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
? ? ?```
? 添加可執行權限
```bash
? ?sudo chmod +x /usr/local/bin/docker-compose
? ?```
? 創建軟鏈接(可選)
? 如果你希望在任何地方都能直接使用`docker-compose`命令,可以創建一個軟鏈接:
```bash
? ? ?sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
? ? ?```
? 驗證安裝
? 運行以下命令驗證 Docker Compose 是否安裝成功:
```bash
? ? ?docker-compose --version
? ? ?```
? 如果安裝成功,你會看到類似以下的輸出:
```
? ? ?Docker Compose version v2.32.4
? ? ?```
方法 2:使用包管理器安裝(插件形式)
從 Docker 20.10 版本開始,Docker Compose 被集成到 Docker CLI 插件中,可以通過包管理器直接安裝。
? 更新包索引
```bash
? ?sudo apt-get update
? ?```
? 安裝 Docker Compose 插件
```bash
? ?sudo apt-get install docker-compose-plugin
? ?```
? 驗證安裝
? 運行以下命令驗證 Docker Compose 插件是否安裝成功:
```bash
? ? ?docker compose version
? ? ?```
? 如果安裝成功,你會看到類似以下的輸出:
```
? ? ?Docker Compose version v2.32.4
? ? ?```
三、解決安裝過程中可能遇到的問題
1.Docker 鏡像下載速度慢
即使配置了國內鏡像源,Docker Compose 下載鏡像仍然很慢,可能是由以下原因導致的:
? 鏡像源選擇問題:配置的鏡像源可能不穩定或速度較慢。建議嘗試更換其他國內鏡像源,例如阿里云、網易云、騰訊云、中國科學技術大學等。
? 網絡問題:網絡不穩定或帶寬不足,導致鏡像下載速度慢。建議檢查網絡連接,或者使用代理服務器。
? Docker Hub 限流:Docker Hub 對未登錄用戶進行限流,導致下載速度慢。建議注冊 Docker Hub 賬號并登錄,避免限流。
? 鏡像體積過大:某些鏡像體積較大,即使使用了加速源,下載時間也可能較長。建議盡量使用輕量級的鏡像。
2.無法訪問 DaoCloud 鏡像源
如果你無法訪問 DaoCloud 的鏡像源,可以嘗試以下替代方法:
? 使用 GitHub 官方鏈接:從 GitHub 的官方發布頁面下載 Docker Compose。
? 離線安裝:在有網絡的設備上下載 Docker Compose 二進制文件,然后上傳到目標服務器進行安裝。
? 使用其他工具替代 Docker Compose:例如`nerdctl`是一個替代 Docker 和 Docker Compose 的工具,它支持類似的功能。
? 使用國內開源項目一鍵安裝:例如[LinuxMirrors]()提供了一鍵安裝 Docker 和 Docker Compose 的功能。
四、總結
通過上述步驟,你可以在 Ubuntu 系統上輕松安裝并使用 Docker 和 Docker Compose。在安裝過程中,如果遇到鏡像下載速度慢或無法訪問鏡像源的問題,可以嘗試更換鏡像源、優化網絡設置或使用離線安裝等方法。希望本文能幫助你順利搭建 Docker 環境,提升開發效率。