Ubuntu 安裝 Docker Desktop

Undefined443發表於2024-03-10

介紹

Docker 有兩種版本:Docker Desktop 和 Docker Engine (也稱作 Docker CE)。Docker Desktop 是帶圖形介面的版本,非常適合需要在桌面環境中進行容器開發和測試的開發者。Docker Engine 則只有命令列介面,適合在沒有圖形介面的伺服器上進行容器開發和測試。

這篇文章將介紹在 Ubuntu Desktop 上安裝 Docker Desktop 的方法。如果你需要在 Ubuntu Server 上安裝 Docker 或者確定只需要 Docker Engine,請參閱 Ubuntu 安裝 Docker CE

安裝

  1. 設定 APT 倉庫

    # 新增 Docker 官方的 GPG 公鑰:
    sudo apt-get install -y ca-certificates curl
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc
    
    # 將 Docker 倉庫新增到 APT 倉庫中
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
      $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update  # 更新 APT 索引
    
  2. Install Docker Desktop on Ubuntu 頁面中點選 DEB package 按鈕下載最新版 Docker Desktop .deb 檔案

  3. 進入 .deb 檔案所在目錄,執行:

    sudo apt-get install ./docker-desktop-x.x.x-amd64.deb  # 安裝 Docker Desktop
    

    在安裝時可能會收到如下警告:

    N: Download is performed unsandboxed as root, as file '/home/user/Downloads/docker-desktop.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
    

    你可以忽略這個警告

此時,你的 Docker Desktop 就安裝完成了。你可以在程式選單中找到 Docker Desktop。

Troubleshooting

在安裝完成之後,你可能會在開啟 Docker Desktop 時遇到需要開啟 KVM 模組的報錯。

你可以透過如下命令開啟 KVM 模組:

modprobe kvm

然後根據你 CPU 的型別,執行下面其中一條命令:

modprobe kvm_intel  # Intel 處理器

modprobe kvm_amd    # AMD 處理器

如果上面的命令執行失敗,你可以執行這條命令進行診斷:

sudo kvm-ok

如果你是在虛擬機器裡執行 Ubuntu,比如你正在使用 VMware Workstation 上的 Ubuntu 虛擬機器安裝 Docker,那麼你很有可能是沒有開啟 虛擬化 Intel VT-x/EPT 或 AMD-V/RVI 功能。請你關閉該 Ubuntu 虛擬機器(不是掛起),並在虛擬機器設定中開啟 虛擬化 Intel VT-x/EPT 或 AMD-V/RVI

如果你在開啟 虛擬化 Intel VT-x/EPT 或 AMD-V/RVI 時遇到錯誤,請參考 VMware Workstation 開啟虛擬化引擎

你可以透過下面的命令檢查 kvm 模組和 kvm_xxx 模組是否安裝成功:

$ lsmod | grep kvm
kvm_amd               167936  0
ccp                   126976  1 kvm_amd
kvm                  1089536  1 kvm_amd
irqbypass              16384  1 kvm

參考 KVM virtualization support

相關文章