Configure where the Docker daemon listens for connections
https://docs.docker.com/engine/install/linux-postinstall/#configure-where-the-docker-daemon-listens-for-connections
在官方說明文件內有提到兩種方式
需要注意兩種方式一起設置使用的話,會造成docker.service
啟動時衝突導致服務無法啟動。
此筆記操作環境是在Ubuntu 20.04 Server
環境下,在安裝系統設定中並未勾選預先裝Docker
,而是事後系統安裝完畢啟動後,在執行手動安裝Docker
。
關於安裝Docker
可參考
https://docs.docker.com/engine/install/ubuntu/
docker.service unit file
設置以下內容
0.0.0.0
允許外部IP連入因是在nano
編輯器底下設定,設置完成後請按Ctrl+x
–>y
–>Enter
儲存內容。
systemctl
刷新配置檔案Docker
服務確認服務啟動狀態
當重新啟動完成後,可以用下列指令確認目前監聽狀態資訊
ufw
如果要在觀察更仔細資訊內容,可以加verbose
參數
如果需要其他參數說明幫助可用以下指令,來進一步查看可用的參數
在Default
的規則中內容可以看到如下
筆者習慣針對來源連線進行控管,在這裡只允許指定的IP來進行遠程連線,在此部分設定為只允許IP10.0.0.10
(筆者電腦在內部網路的 IP)透過4243
Port來通過防火牆,進一步取得跟Docker Remote API溝通。
在設定完成此規則後,除了指定允許的IP之外,其他IP透過此Port連入至系統時,會被防火牆給擋掉不給予連入。
Portainer
進行遠程連接管理關於Portainer
安裝可參考
https://documentation.portainer.io/v2.0/deploy/linux/
在安裝完畢後,進入本地portainer
點選選單Endpoints
–> Add endpoint
按鈕
Environment type (必填)
Docker
Environment details (必填)
Name
–> 自己給予這一個遠程管理命名,筆者以自己的Jenkins_Server
Docker做範例。Endpoint URL
–> 對應Docker Remote API Host設定,根據前面步驟筆者是設定透過4243
Port來跟Docker遠程連接,在此範例會是10.0.0.14:4243
。Public IP
–> 設置跟遠程Docker所在主機IP即可,在此範例會是10.0.0.14
。其餘設定看是否有需要再自行設定,設定完成後點選Add endpoint
按鈕。
設定完成後在Endpoints頁面即可看到剛剛新增的Docker遠程Jenkins_Server
可在Home頁面清單看到剛剛新增的Jenkins_Server
點選進去後即可進行Docker操作。