研一参加的老师一个项目,其中用到了Docker和树莓派。有一部分内容需要对树莓派native性能和树莓派上容器性能比较。
我用sysbench性能测试工具进行测试对照。其中因为树莓派是arm架构(我们当时买的是32位的树莓派4B(4GB+16GB内存卡),内存卡自带的32位Debian系统) 但是很多Docker镜像都是基于x86平台的,所以并不能很好的支持。所以一开始还是走了不少弯路。这里记录一下。
安装docker
下载安装脚本:
curl -fsSL https://get.docker.com -o get-docker.sh
使用阿里云镜像下载安装:
sh get-docker.sh --mirror Aliyun
执行脚本后会自动识别arm架构,下载安装对应版本docker,稍等片刻即可
将当前用户加入docker组:
sudo usermod -aG docker $USER
退出当前终端并重新登录,此时操作docker不再需要加sudo权限
安装docker-compose
因为树梅派是arm架构,docker-compose是没有提供官方的二进制文件的,所以我们要使用python的pip3工具来安装docker-compose
更新apt软件源:
sudo apt-get update
安装python和pip3(我的系统已经自带了,所以不用安装)
安装libffi-dev,否则在安装docker-compose的时候会报错:
sudo apt-get install -y libffi-dev
使用pip3安装docker-compose,临时使用中科大的软件源:
sudo pip3 install docker-compose -i https://pypi.mirrors.ustc.edu.cn/simple/ --trusted-host pypi.mirrors.ustc.edu.cn
安装完成后,如果执行docker-compose命令提示找不到ssl_match_hostname:
需要把python3.6(具体哪个版本从控制台输出可以看出来)的dist-packages文件夹复制到docker的工作目录下:
sudo cp -r /usr/local/lib/python3.6/dist-packages/backports /usr/local/lib/python3.6/dist-packages/docker/transport/
docker镜像更改软件源
在树莓派docker中构建镜像时,如果要更改镜像软件源,使用案例如下:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0
#安装ffmpeg工具
RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list \
&& apt-get update \
&& apt-get install -y ffmp