侧边栏切换

树莓派上安装Docker

最后编辑于: 2019-08-13 15:54  |  分类: linux  |  标签: 树莓派 docker   |  浏览数: 3943  |  评论数: 0


设备: raspberry pi 3B E14

环境: Raspbian GNU/Linux 9 Stretch

关于脚本安装

都说用shell脚本安装, 简单省事, 我一开始也尝试用脚本安装,

官方的脚本:

curl -fLsS https://get.docker.com/ | sh

和 国内DaoCloud源的脚本:

curl -sSL https://get.daocloud.io/docker | sh

都试过了, 全都没戏, 国内源的要好些, 进度还多跑了一些, 但最终都因为下载速度过慢而出错退出. 试了3遍都如此, 耽误不少时间.

APT安装

参考文章:

https://yymelo.com/%E6%A0%91%E8%8E%93%E6%B4%BEraspberry-pi-3b%E5%AE%89%E8%A3%85docker/

https://blog.csdn.net/u011142756/article/details/81736098

后来只能改用APT方式安装.

首先需要更新一下软件包的索引

sudo apt-get update

然后 安装HTTPS传输所依赖的软件包 以及 CA证书, 命令如下:

sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
lsb-release \
software-properties-common

换用国内源, 并添加国内软件源的GPG密钥:

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/raspbian/gpg | sudo apt-key add -

然后,向 /etc/apt/source.list 中添加Docker CE(CE代表社区版)软件源:

$ echo "deb [arch=armhf] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/raspbian/ $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list

上面的命令也是从网上抄来的, 注意其实际上是将软件源添加到了/etc/apt/sources.list.d/docker.list, 实验证明, 添加到/etc/apt/source.list或/etc/apt/sources.list.d/docker.list都可以.

另, lsb_release -cs命令的作用是打印当前Raspbian系统的版本名称, 我当前的环境打印结果是Stretch

最后, 更新apt缓存,安装Docker CE:

sudo apt-get update
sudo apt-get install docker-ce

安装过程中, 可能出现如下错误:

Error! The dkms.conf for this module includes a BUILD_EXCLUSIVE directive which does not match this kernel/arch. This indicates that it should not be built.

解决办法, 通过下面命令, 安装kernel headers:

sudo aptitude install raspberrypi-kernel-headers

之后, 再次sudo apt-get install docker-ce即可!

建立 docker 用户组

默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。所以,最好将需要使用 docker 的用户加入 docker 用户组。

首先,建立 docker 组:

sudo groupadd docker

将当前用户pi加入 docker 组:

sudo usermod -aG docker pi

之后系统重启, 使之生效.

验证docker是否安装成功

docker run arm32v7/hello-world

若出现

Hello from Docker!
This message shows that your installation appears to be working correctly.

说明安装成功!

镜像加速器

参考文章:

https://yeasy.gitbooks.io/docker_practice/install/mirror.html

https://www.zybuluo.com/yangxuan/note/621855

对于使用systemd的系统,请在/etc/docker/daemon.json中(如果文件不存在请新建该文件)写入json格式的配置内容, 可用如下命令添加:

sudo bash -c 'cat >  /etc/docker/daemon.json << "EOF"
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF'

命令执行后, /etc/docker/daemon.json文件中内容如下:

{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

上面内容添加了清华的加速器. 也可直接用vim等编辑软件编辑添加.

注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。

后来, 我又用vim手动编辑此文件, 另外添加了一个源(docker官方的中国区加速器), 文件内容变更如下:

{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}

/etc/docker/daemon.json文件内容修改好后, 重启docker服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

检查加速器是否生效

执行docker info, 如果从结果中看到了如下内容,说明配置成功。

Registry Mirrors:
https://docker.mirrors.ustc.edu.cn/
https://registry.docker-cn.com/

上一篇: redis的安装与配置

下一篇: 树莓派上安装frp实现内网穿透