Arch Linux安裝Docker Desktop圖形前端的方法

“Docker Desktop"是Docker公司推出的專有軟體,以圖形化界面配合虛擬機,讓初學者快速上手Docker開發環境。尤其對Windows和macOS用戶來說,這是最方便安裝Docker Engine的作法。

注意"Docker Desktop"不等於"Docker Engine”,前者是包含Docker在內的封閉原始碼軟體,後者則是一套開源的容器技術。

Docker Engine原本就是為Linux系統設計的技術,Linux用命令行就能輕鬆安裝Docker Engine,用指令操作Docker容器也方便。如果你已經熟悉在Linux用命令行操作Docker,那就只要單獨裝Docker Engine就好,不太需要用到Docker Desktop。

目前Docker Desktop (版本4.19.0) 只支援Fedora、Ubuntu、Debian。openSUSE不能裝Fedroa的rpm (順帶一提SUSE公司有自己一套Rancher Desktop管理工具)。

至於Arch系的套件,Docker Desktop處於實驗性支援狀態,不能從AUR安裝,要手動安裝。

1. 安裝Docker

Docker官網文件建議安裝Docker官網提供的靜態執行檔,雖說我自己測試用Arch套件庫提供的Docker也是可以跑。

  1. 安裝Docker靜態執行檔所需套件
1
sudo pacman -S iptables-nft git procps-ng xz
  1. Docker官網下載安裝靜態Docker執行檔,內含docker-compose
1
2
3
4
wget https://download.docker.com/linux/static/stable/x86_64/docker-23.0.5.tgz
tar xzvf docker-23.0.5.tgz
sudo cp docker/* /usr/bin/
sudo dockerd &

2. 安裝Docker Desktop套件

  1. 安裝QEMU與KVM

  2. 安裝GNOME終端機

1
sudo pacman -S gnome-terminal
  1. Docker Desktop Release下載Arch的套件(Arch package)

  2. 使用pacman安裝Docker Desktop本機套件

1
sudo pacman -U docker-desktop-4.19.0-x86_64.pkg.tar.zst
  1. 確認Docker版本,不需要sudo
1
2
docker version
docker compose version
  1. 以一般使用者啟動Docker Desktop服務
1
2
3
systemctl --user start docker-desktop
# 登入桌面自動啟動Docker Desktop
systemctl --user enable docker-desktop
  1. 這樣Docker Desktop就會自己跳出來

3. 使用Docker Desktop操作容器

你無法在Docker Desktop直接拉取映像,還是得用到終端機指令。

  1. 開啟終端機,拉取官方範本。注意執行docker指令的時候不需要sudo,不然Docker Desktop會看不到執行中的容器。
1
docker run -d -p 80:80 docker/getting-started

如果遇到dialing registry-1.docker.io:443 with direct connection: resolving host registry-1.docker.io: lookup registry-1.docker.io on 192.168.1.1:53: no such host錯誤,那麼就將systemd-reslove的DNS伺服器改為Cloudflare

1
2
3
4
5
6
# 取得目前連線的UUID
sudo nmcli con
# 修改DNS
sudo nmcli con mod "UUID" ipv4.dns "1.1.1.1 8.8.8.8"
# 重新啟動網路服務
sudo systemctl restart NetworkManager
  1. Docker Desktop即會顯示目前運作中的容器。

  2. 點進去可以直接存取容器內部的終端機 (等同終端機執行docker exec指令)

  3. 啟動Docker Desktop後會一併啟動QEMU虛擬機,佔用RAM 2GB,硬碟64GB,資料儲存於~/home/user/.docker/desktop/vms/0/。在Docker Desktop的設定頁面可以調整分配的資源。

4. 解除安裝Docker Desktop

Docker Desktop可能會干擾一般使用者執行Docker指令,遇到此情況請將Docker Desktop移除。

  1. 刪除套件
1
sudo pacman -R docker-desktop
  1. 刪除設定檔與符號連結
1
2
3
4
rm -r $HOME/.docker/desktop
sudo rm /usr/local/bin/com.docker.cli
rm $HOME/.docker/config.json
sudo pacman -Rns docker-desktop

參考資料


感謝您的閱讀。歡迎分享Ivon的部落格(ivonblog.com)的文章,引用或轉載請註明文章網址,並遵守創用CC-姓名標示-非商業性-禁止改作 4.0 國際授權條款。如需商業使用請來信告之。

written by human, not by AI

如果本網站文章對您有幫助,歡迎請我喝杯珍珠奶茶。

留言板

點選按鈕,選擇您覺得方便的留言系統。

這是Giscus留言板,需要登入Github帳號才能留言。方便您張貼程式碼,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。