Mark Ku's Blog

問題

一開始,我在 Ubuntu 先裝了 Docker desktop ,Docker,但發現遠端訪問及佈署的連接埠( 2375 port ) 怎麼調整,一直都跑不起來,將其全部移除後再裝。

Windows Docker desktop 和 Linux Docker desktop 的差異

在 Windows 的 Docker desktop 可以輕鬆勾選 Docker desktop的設定中 "Expose daemon on tcp://localhost:2375 without TLS" 來啟用2375 port來管理遠端的 Docker 伺服器,但在Linux 版本是沒有這個設定的,如果先裝了 Docker desktop 可能會遇到和我一樣找不到 dockerd 的狀況。 linux docker desktop settings

環境說明

因為越來越多雲端服務都是採用 Linux 伺服器,且因為Linux 輕載又穩定的特性,也不需要特別高規格的電腦,因此將舊電腦,Intel 8700 + 1060 顯卡整理成做為實驗機,並在上面安裝了 Ubuntu 22.04.5 LTS,做為研究一些雲平台使用,為了方便管理,我裝了 Ubuntu Desktop ,並自己架了 Rust Destktop ,方便連線進去維護。

首先,在Ubuntu 安裝 Docker

// 1. 更新系統的軟體

sudo apt update
sudo apt upgrade

// 2. 安裝必要的相依套件

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

// 3. 加入 Docker 官方的 GPG 金鑰

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

// 4. 新增 Docker 的軟體庫

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

// 5. 更新軟體包列表並安裝 Docker

sudo apt remove --purge docker-ce docker-ce-cli containerd.io
sudo apt install docker-ce docker-ce-cli containerd.io

// 6. 檢查 Docker 是否安裝成功

sudo systemctl status docker
sudo systemctl start docker
sudo docker run hello-world

修改 Docker 的自動啟動設定

sudo vim /lib/systemd/system/docker.service

修改 ExecStart 這行,在後面加上 -H fd:// -H tcp://0.0.0.0:2375

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H fd:// -H tcp://0.0.0.0:2375

change execstart setting 重新啟動

sudo systemctl daemon-reload  
sudo systemctl enable docker.service 
sudo systemctl restart docker.service 
sudo systemctl status docker.service 

允許2375 通過防火牆

sudo ufw allow 2375
...

測試 (在別台電腦)

docker -H 192.168.50.50:2375 info
docker -H 192.168.50.50:2375 ps
test result
test result

最後

我做了一些實驗,發現透過 2375 端口指令建立的容器無法在 Docker Desktop 中看到。如果要使用 Docker Desktop,可能會與原本的 Docker 環境產生衝突。看來,Docker 和 Docker Desktop 不適合混合使用。

補充資料

作者

Mark Ku

擁有 10+ 年經驗的資深軟體工程師,現為 AI 應用 Builder,專注於大型平台架構與簡化複雜系統設計,從電商系統到訂閱與收費平台,結合 AI Agent、AI 整合與自動化開發,打造高效率且可持續演進的產品技術基礎。閱讀更多

覺得這篇有幫助?

作者做的免費工具、每日 Podcast 與電子報,都在這裡。

Mark Ku · 本文採用 CC BY 4.0 授權,轉載請註明作者並附上原文連結。

留言

訂閱電子報

訂閱後即時收到新文章通知,不錯過任何技術分享。

提交即表示同意接收電子報,隨時可

熱門文章

View all
Mark Ku
··604

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案
Mark Ku
··471

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南
Mark Ku
··329

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略
Mark Ku
··240

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1
Mark Ku
··235

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調
Mark Ku
··216

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取