在Raspberry Pi 3 + 64位Debian上編譯Docker?

廢話就不多說了:

  1. 官方Raspbian只有32位版本,我安裝的是非官方的 bamarni/pi64,基於Debian 9 + 4.11內核
  2. Debian的docker.io包只在unstable版里有,並且除了x64版,目前(2017-09-04)其他CPU架構下的docker.io依賴關係都是broken,無法安裝
  3. Docker官方沒有放出arm64的binary
  4. 從源碼編譯docker需要docker //rofl

雖然 Getting Docker running on a high-density ARMv8 development board from HiSilicon 這篇文章介紹了如何直接編譯出docker的binary,但我在RPi3上嘗試了很多次,只偶爾成功了一次,其他基本上都會OOM。順便提一句,不加散熱片的話,RPi3一開始編譯docker就會馬上熱到死機。

最後我還是放棄了在RPi3上編譯,去Scaleway上開了一台4核心2G 內存的arm64伺服器,在上面裝了Ubuntu 16.04——因為Ubuntu的arm64 docker.io是完好的1.12.6。然後從moby源碼編譯17.05.0-ce的docker包:

$ sudo apt install -y git-core make docker.io$ git clone https://github.com/moby/moby$ cd moby && git checkout v17.05.0-ce && make deb

等大約三小時,會陸續build出Debian Jessie (8), Stretch (9)和Ubuntu 14.04 (Trusty), 16.04 (Xenial)的deb包。Scaleway VPS 實例按小時計費,編譯docker大概會花費不到兩毛 RMB 的樣子。

再弄回RPi3上安裝就可以了。

如果你膽子粗,敢用別人編譯出來的deb,我放在 pan.baidu.com/s/1o8bWVX 了。

推薦閱讀:

CI Weekly #13 | 用更 Geek 的方式配置你的 CI 工作流
Python 項目的部署,目前互聯網公司有哪些成熟的方案?
為什麼 DevOps 如我們所知道的那樣,是安全的終結
一周IT博文精選TOP10(第九期)
??如何做年前大掃除

TAG:树莓派RaspberryPi | Docker | DevOps |