共计 2151 个字符,预计需要花费 6 分钟才能阅读完成。
因为树莓派是 ARM 架构的,所以 Docker 的安装和使用也都有不同。需要讲的内容比较多,这里单挑出来。
树莓派是基于 ARM 架构的,和 PC 不同。所以即使树莓派上能做一些 docker 镜像,也不能在别的 PC 上运行。反过来别的 PC 上的 docker 镜像,也不能在树莓派上运行。如果需要找树莓派专用的镜像,那就在 Dockerhub 上搜索 ARM 或 Rpi 相关就能找到了。有一个叫 Hypriot 的仓库制作了非常多树莓派专用 docker,可以参考下。
树莓派参考:Get Docker CE for Debian 参考:My home server powered by Pi and Docker
树莓派安装 Docker,最难的在于正确的选择源和添加 GPG-key,才能找到版本适合的 docker 并下载。这个过程是非常繁琐且很难有统一方案的。
官方版一键安装脚本
注意:官方的一键安装脚本很多人说不再支持了。但是目前位置,其实还是能支持的。
参考:The easy way to set up Docker on a Raspberry Pi
开始执行之前,先说明:我之前很多次都不成功,找了很多相关解决方案都不行。直到。。。直到我先 sudo apt-get update 并且最最最重要的是 sudo apt-get upgrade,之后才行。其实在 upgrade 时候就能看到,更新了很多系统依赖包,这也就解决了之前 docker 安装不成功的一切毛病了。
upgrade 完成后,就开始正式安装了:
需要用到一个 shell 脚本,get.docker.com,整个网站就这一个脚本。下载并执行:
$ curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh
完成后,会显示:
然后运行 hello world 试试:
$ sudo docker run hello-world
然后显示:
手动安装
准备工作:
#安装 SSL 相关,让 apt 通过 HTTPS 下载:
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
# 添加 docker 的 GPG key
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add –
#检查 key 是否相符(9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88)
sudo apt-key fingerprint 0EBFCD88
# 添加 docker 的 apt 下载源
sudo echo “\ndeb-src [arch=amd64] https://download.docker.com/linux/debian wheezy stable\n” >> /etc/apt/sources.list
# 更新源
sudo apt-get update
安装 docker:
$ sudo apt-get install docker-ce
无需 sudo 执行 docker
为了每次执行 docker 不需要总是输入 sudo,我们需要为 docker 创建一个用户组,并授予权限才行:
# 创建 docker 用户组
sudo groupadd docker
# 把当前用户加入到 docker 用户组
sudo gpasswd -a $USER docker
# 更新当前用户组变动(就不用退出并重新登录了)
newgrp docker
安装 docker-compose
可以通过把 docker compose 当作一个 docker 的 container 下载并运行:
docker run \
-v /var/run/docker.sock:/var/run/docker.sock \
-v “$PWD:/rootfs/$PWD” \
-w=”/rootfs/$PWD” \
docker/compose:1.13.0 up
# 设置 alias 快捷键 (`~/.zshrc` 或 `~/.bash_profile`)
alias docker-compose=”‘”‘docker run \
-v /var/run/docker.sock:/var/run/docker.sock \
-v “$PWD:/rootfs/$PWD” \
-w=”/rootfs/$PWD” \
docker/compose:1.13.0′”‘”
常见错误问题
Python: No module name lsb_release
先检查本机是否已经安装了 lsb_release,或者重新安装一遍:
$ sudo apt-get install lsb-release
如果还是这个问题,那么就检查 Python 版本。如果是 python3,那么很可能是版本不够,因为 lsb_release 需要最少 python3.5。解决这个问题,就把默认 python 设置回 python2 就好了。就是个 ln 建立快捷方式都事:
# 备份(python 具体的位置根据自己情况定)
$ sudo mv /usr/bin/python /usr/bin/python_bak
# 更换
$ sudo ln -s /usr/bin/python2.7 /usr/bin/python
然后再试一下 $ lsb_release -cs 看看有没有显示 jessie
无法添加源 add-apt-repository 报错找不到相关源