Mark Ku's Blog
首頁 關於我
在 Ubuntu 設定 Docker 並設定2375 埠以支援遠端管理
DevOps
在 Ubuntu 設定 Docker 並設定2375 埠以支援遠端管理
Mark Ku
Mark Ku
November 09, 2024
1 min

問題

在 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 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
change execstart setting
重新啟動

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

開啟防火牆

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 不適合混合使用。

補充資料

  • TLS加密远程连接Docker
  • 更安全的TLS 連接 Docker

Tags

Mark Ku

Mark Ku

Software Developer

9年以上豐富網站開發經驗,開發過各種網站,電子商務、平台網站、直播系統、POS系統、SEO 優化、金流串接、AI 串接,Infra 出身,帶過幾次團隊,也加入過大團隊一起開發。

Expertise

前端(React)
後端(C#)
網路管理
DevOps
溝通
領導

Social Media

facebook github website

Related Posts

Ubuntu 22.04 上的 Kubernetes 安裝與配置教學
Ubuntu 22.04 上的 Kubernetes 安裝與配置教學
November 10, 2024
1 min

Quick Links

關於我

Social Media