我发现的说明要么是基于Raspbian的非常手动的过程,但内核却非常旧似乎需要一堆补丁。 resin.io的人也有一个著名的构建,但是它是专门为Arch Linux制作的。
当前的Raspbian内核是3.10.25,它足够现代,可以容纳Docker需要的大多数东西。我不是要构建新内核,但这仍然有必要吗?
有没有人知道如何在Pi上获得Docker及其要求?
#1 楼
是的,我已经构建了一个内核并将Docker 1.0移植到Raspbian OS:Linux raspberrypi 3.10.37+#1 PREEMPT Sat Apr 19 13:28:05 UTC 2014 armv6l GNU / Linux我已经分享了我在GitHub上的输出以免他人痛苦。像往常一样,我按原样提供了此保证,;-)
您可以在此处找到内核和docker tar文件:
https://github.com .com / stevef1uk / docker_for_rpi
评论
那很有趣。感谢分享。您介意添加编译内核的步骤吗?特别是,您在配置中更改了哪些选项?我将尝试通过elinux.org/RPi_Kernel_Compilation上列出的步骤构建自己的内核。
–马丁·海默斯(Martijn Heemels)
2014年6月12日上午8:11
实际上,我已经做到了如何交叉编译。您可以在这里找到我的博客:stevef1uk.blogspot.com/2014/06/…&stevef1uk.blogspot.com/2014/06/…
– Seahope
2014年6月13日20:51
#2 楼
您还可以使用HypriotOS,它为Raspberry Pi提供了最新的Docker和Linux内核。只需刷新映像并查看Docker即可运行!http://blog.hypriot.com/
(披露:我是Hypriot的团队成员)
评论
谢谢,在我的新Pi2上使用您的新图像。很棒!我已经尝试过使用Docker Hub中的各种armhf映像。
–马丁·海默斯(Martijn Heemels)
15年3月4日在21:28
@MathiasRenner是否有原因hypriot不开源?您打算通过图像获利吗?
– jottr
15年7月21日在22:00
@jottr谢谢您的关注!实际上,您需要在RPI上运行Docker的Hypriot中的所有内容都是开源的。您需要(1)适当的内核(github.com/hypriot/rpi-kernel-builder)和(2)Docker二进制文件(github.com/hypriot/rpi-docker-builder)。只需构建并安装两者,即可开始使用!
– Mathias Renner
15年7月23日在14:14
@MathiasRenner啊,太好了! Thx的指针。
– jottr
15年7月24日在15:14
这在Raspbian Jessie上也很好用; blog.hypriot.com/post/your-number-one-source-for-docker-on-arm
– Arjan
16年5月1日在13:21
#3 楼
如果您使用Raspbian:sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install docker.io docker
Docker现在位于默认存储库中,则
更新:不幸的是,此版本很旧,因此请拉入Docker Hub中的图像目前无法正常工作。
评论
缺省存储库中的版本为超旧版本,截至本注释为止为1.3.3。它不再与docker注册表一起使用,从而使其几乎无用。
–DriverDan
16 Mar 27 '16 at 19:06
同意希望Raspbian中的软件包会尽快更新,也许错误/功能请求会有所帮助
–张侯
16-3-31在9:52
Raspbian测试库中有1.8.3(2015年10月)。
– nphx
16年4月3日在6:57
有关Raspbian Jessie上Docker 1.10的信息,请参阅blog.hypriot.com/post/your-number-one-source-for-docker-on-arm。
– Arjan
16年5月1日在13:20
#4 楼
Docker支持ARMv6 / v7甚至ARM64(v8?),因此您可以在Raspberry Pis上运行它。遵循Docker的官方说明:https://docs.docker.com/engine / installation / linux / docker-ce / debian /
如果您有Raspbian Jessie或Stretch(请查看上面的其他文档),则为: />
然后可以对其进行测试(感谢Docker多体系结构支持):
$ sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
$ curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add -
$ 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
$ sudo apt-get update; sudo apt-get install docker-ce
$ sudo systemctl start docker
为了避免每次Docker调用都键入
sudo
,您可以执行以下操作以下额外步骤:https://docs.docker.com/engine/installation/linux/linux-postinstall/ 享受!
PS:我已经安装了Ubuntu适用于armhf的服务器16.04。然后,我已按照以下说明(对于Ubuntu)按照说明在其上安装Docker:https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#set-up-the-repository。它也像吊饰一样起作用。
#5 楼
我一直都在使用...curl -sSL https://get.docker.com | sh && sudo usermod -aG docker pi
但是,我今天早上才看到弃用通知...
WARNING: raspbian is no longer updated @ https://get.docker.com/
Installing the legacy docker-engine package...
评论
我也注意到了这一点-您知道这意味着什么吗?这意味着什么?
– davidA
17年8月18日在4:20
这意味着它今天可以工作,但明天可能就不工作。这也意味着您应该写信给moby项目(即维护docker的人们),告诉他们有多棒,并请他们继续维护它。 :D
–扎克
17年8月18日在6:31
你知道有没有其他选择?大概我总能回到Raspbian上的手动安装过程吗?
– davidA
17年8月18日在22:26
不,我不知道。但是,Moby Project应该能够回答该问题。
–扎克
17年8月18日在23:44
谢谢,我要伸出援手。我不希望看到Docker从raspbian中消失-通过RPi在Docker上运行微服务真是太棒了...
– davidA
17年8月20日在0:58
评论
有趣的问题。我也会对此有兴趣的答案。您是否尝试过这些说明?不,我已阅读所有内容。我特别希望使用Raspbian,因此Arch指令不是很有用。肯·科克伦(Ken Cochrane)提出的Raspbian指令看起来很老,需要很多步骤才能使Raspbian保持最新状态,更不用说Docker了,甚至还不能使安装工作正常。我希望在花大量时间之前收集一些信息。
我意识到的这一点是,Docker容器并不是真正的跨体系结构。由于容器与主机OS共享内核,因此容器内的应用程序将绑定到armv6体系结构。您无法在x86上构建docker映像并在armv6上运行它,这对构建系统造成了限制。这里有一个基本映像:index.docker.io/u/resin/rpi-raspbian
因此有可能但不做您想做的事?
好吧,看来他们声称可以在几乎任何地方运行的自给自足的容器已经不足了。听起来好像要在某种设备上运行,docker需要与其所运行的设备兼容。听起来像Mono或Java更有前途,但并不是您真正需要的。为什么您需要在Pi上使用它?如果您是为Linux开发的,那么您应该真正使用Linux本身支持的功能进行开发。