前言
樹莓派(Raspberry Pi)是一臺卡片電腦(只有信用卡大小),我們可以使用樹莓派做很多事情,比如智慧家居的中控、航空器、BT下載器、挖礦機、智慧機器人、小型伺服器(花生殼+網站)等等。
目前,支援 Linux 的 IoT 裝置越來越多,比如本文中的樹莓派。而Docker,在物聯網這塊,也提供了一個優秀的解決方案。一方面,真正做到了一次編譯,到處執行(包括各種loT裝置),而且還很輕量,另一方面,映象的差異化更新可以減輕低頻寬網路上的壓力, 減少連線裝置所需的時間量和降低故障概率,使更頻繁地應用更新成為可能。同時,Docker在邊緣計算這塊也大有可為。物聯網這塊,這是個長遠的話題,我們後續再來探討。
樹莓派和Docker
什麼是樹莓派
樹莓派(Raspberry Pi)是一臺卡片電腦(只有信用卡大小),其系統基於Linux。可以安裝Windows 10 IoT。
注意
樹莓派雖小,可是五臟俱全!連上網線,接上滑鼠鍵盤顯示器,就是一臺微型電腦了!我們可以使用樹莓派做很多事情,比如智慧家居的中控、航空器、BT下載器、挖礦機、智慧機器人、小型伺服器(花生殼+網站)等等。
官方網站:
樹莓派官網有很多實驗專案,有興趣的朋友可以去多多嘗試:
https://projects.raspberrypi.org/zh-CN/projects
樹莓派的價格也非常便宜,基本上200多就可以入手一臺,具體大家可以上淘寶:
相關引數(3B+)如下所示:
藝術照看過了,我們上幾張實景圖:
開啟SSH
SSH我們在之前已經講過,主要是用於遠端登入。不過在自帶的樹莓派系統之中,開啟SSH比較簡單。我們可以使用sudo raspi-config 進入配置介面:
然後選擇【Advanced Options】:
選擇【A4 SSH】來啟用SSH服務。
安裝Docker
和之前一樣,我們使用ssh來安裝Docker。這裡我們使用快捷指令碼安裝:
1. 使用ssh連線樹莓派
2. 使用快捷指令碼安裝。
如有疑問,可以回顧之前的教程,這裡我們直接執行以下指令碼:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
注意:
“dpkg ”是“Debian Packager ”的簡寫。為 “Debian” 專門開發的套件管理系統,方便軟體的安裝、更新及移除。所有源自“Debian”的“Linux ”發行版都使用 “dpkg”,例如 “Ubuntu”、“Knoppix ”等。dpkg是Debian軟體包管理器的基礎,在剛才安裝docker時,dpkg被中斷,我們可以使用“sudo dpkg --configure -a”命令來重新配置和釋放所有的軟體包。
然後再次執行安裝指令碼:
直到安裝成功:
執行.NET Core Demo
Docker在物聯網這塊,提供了一個優秀的解決方案。一方面,真正做到了一次編譯,到處執行(包括各種loT裝置),而且還很輕量,另一方面,映象的差異化更新可以減輕低頻寬網路上的壓力, 減少連線裝置所需的時間量和降低故障概率,使更頻繁地應用更新成為可能。同時,Docker在邊緣計算這塊也大有可為。這裡,我們不做深入的挖掘,後續我會專門講述。
Docker安裝成功後,我們可以執行一個demo,來檢測下我們的成果——比如執行.NET Core 的官方Demo,具體命令如下所示:
docker run --name aspnetcore_sample --rm -it -p 8000:80 microsoft/dotnet-samples:aspnetapp
主機埠我們繫結了8000埠,因此我們可以通過IP和埠訪問aspnetcore_sample:
訪問速度非常快,在某些場景下,我們可以配合花生殼基於樹莓派搭建一個簡單的站點,然後利用容器的特級許可權來搞些不一樣的事情。說到容器特級許可權,接下來我們在TeamCity的搭建教程中來穿插講解。