在樹莓派上學習 Docker —— Part 1

以樹莓派和 Docker 的火熱程度相信不須要在額外介紹了,本篇的計劃就是在樹莓派上學會如何使用 Docker。開局只有一塊樹莓派3,其他全靠下載 _(:з」∠)_linux

樹莓派官方在 2016 八月份時曾經發布一篇 DOCKER COMES TO RASPBERRY PI,宣佈了 Docker 官方對樹莓派的支持。 在這篇文章中有提到一個安裝腳本 curl -sSL https://get.docker.com | sh 就能夠安裝好 Docker 了。 另外還貼出大神在 TWITTER 上 Show 由樹莓派 Zero 組成的 Docker Swarm 集羣。docker

Raspbian

一鍵安裝腳本雖然方便,但直接 curl 遠程執行腳本有安全隱患存在,手動安裝也是必要的。在官方文檔中,能夠看到 Docker CE ARM 支持的發行版有 Debian 和 Ubuntu。shell

而在 Get Docker CE for Debian中能夠明確的看到有對 Raspbian 的支持。json

OS requirements安全

To install Docker CE, you need the 64-bit version of one of these Debian or Raspbian versions:bash

  • Stretch (stable) / Raspbian Stretch
  • Jessie 8.0 (LTS) / Raspbian Jessie
  • Wheezy 7.7 (LTS)

Docker CE is supported on both x86_64 (or amd64) and armhf architectures for Jessie and Stretch.服務器

這裏跟着文檔走就能夠安裝好 Docker 了(以 Raspbian Stretch 爲例)。curl

配置安裝源

安裝以前能夠先修改 Raspbian 的安裝源爲國內鏡像,好比科大開源鏡像,具體操做能夠查看科大的幫助文件。還有一個選擇就是阿里開源鏡像,我的來講推薦用阿里,畢竟首富家開的,仍是爲大學節省點經費比較好。網站

  1. 更新 apt 軟件包索引:
$ sudo apt-get update
複製代碼
  1. 容許 apt 經過 HTTPS 使用鏡像倉庫:
$ sudo apt-get install \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common
複製代碼
  1. 添加 Docker 的官方 GPG 密鑰:
$ curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add -
複製代碼

驗證密鑰 ID 是否爲 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88。ui

$ sudo apt-key fingerprint 0EBFCD88

 pub   4096R/0EBFCD88 2017-02-22
       Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
 uid                  Docker Release (CE deb) <docker@docker.com>
 sub   4096R/F273FCD8 2017-02-22
複製代碼
  1. 添加 Docker CE 倉庫
echo "deb [arch=armhf] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \ $(lsb_release -cs) stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list
複製代碼

安裝 DOCKER CE

  1. 更新 apt 軟件包索引:
$ sudo apt-get update
複製代碼
  1. 安裝最新版本的 Docker CE:
$ sudo apt-get install docker-ce
複製代碼
  1. 將當前用戶添加到 docker 組(可選):
$ sudo usermod -aG docker $USER
複製代碼

這樣從新登陸 SSH 以後執行 docker 命令時就不須要加上 sudo 了。

  1. 增長 Docker 倉庫鏡像:

修改 /etc/docker/daemon.json 文件,添加上 registry-mirrors 鍵值。

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}
複製代碼

修改保存以後重啓 Docker 服務才能生效

$ sudo systemctl restart docker
複製代碼

鏡像地址是由 Docker 中國官方提供的,能夠在中文網站上查看一些其餘關於 Docker 的資料。須要注意的是雖然有提供中文文檔,大部份內容仍然是英文,並且內容還有滯後,因此仍是看英文文檔吧。

重啓 Docker 以後,能夠查看一下是否配置成功

$ sudo docker info
複製代碼

若是有如下信息就表示鏡像配置成功:

...
Registry Mirrors:
 https://registry.docker-cn.com/
...
複製代碼

Hello World

最後,用容器向世界問好:

$ sudo docker run --rm hello-world
複製代碼

其餘選擇

若是使用 HypriotOS 直接下載好鏡像寫入 TF 卡啓動樹莓派就能夠開始玩 Docker了。 使用 Mac 平臺對 DD 命令熟悉的話直接 DD 命令寫卡就行。不太熟悉的話推薦 resinOS 發佈的跨平臺的燒寫 TF 卡軟件 Etcher。Windows 平臺則推薦另外一款開源軟件 Rufus

HypriotOS

在 Docker 官方支持樹莓派以前,Hypriot 就提供了非官方支持,而且有發佈專門爲樹莓派製做的發行版。 在blog.hypriot.com/downloads/直接下載鏡像,用它來啓動樹莓派就能夠直接使用 Docker 了。

雖然是非官方支持,不過 Hypriot 也是至關給力的,甚至能夠利用樹莓派搭建 K8S 集羣,值得關注。

resinOS

resinOS 不單單是爲了樹莓派打造,同時也支持其餘硬件,不過這裏咱們只須要下載樹莓派鏡像

能夠像開源智能家居平臺 Hass.io 基於 resinOS 開發的,Hass.io 的插件以 Docker 容器的方式部署運行,打造出能夠開箱即用的服務器。

相關文章
相關標籤/搜索