如何用Docker容器化Speedtest-CLI进行测速
安装Docker
1 |
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh |
创建并进入工作目录
1 |
mkdir -p ~/docker-images/speedtest-cli && cd ~/docker-images/speedtest-cli |
创建Dockerfile
1 |
nano Dockerfile |
输入命令
1 2 3 |
FROM python:rc-alpine3.13 RUN pip3 install speedtest-cli ENTRYPOINT ["speedtest-cli"] |
这里基础镜像使用python:rc-alpine3.13,构建完成后的镜像总大小50MB
创建images
1 |
docker build -t minirplus/speedtest-cli -f ./Dockerfile . |
登录Docker
1 |
docker login |
上传images
1 |
docker push minirplus/speedtest-cli |
访问:https://hub.docker.com/r/minirplus/speedtest-cli
Done!
测试images
1 |
docker run -it --rm minirplus/speedtest-cli --version |
运行测速
1 |
docker run -it --rm minirplus/speedtest-cli --no-upload --server 3633 |
或者程序自动调用测速并返回json格式结果
1 |
docker run -it --rm minirplus/speedtest-cli --no-upload --json |
以上image只能用于amd64架构CPU
下面试图创建ARM分支版本,使用基于ARM架构的AWS t4g实例
切换至t4g,查询本机支持的架构
1 |
docker buildx ls |
1 2 3 |
AME/NODE DRIVER/ENDPOINT STATUS PLATFORMS default * docker default default running linux/arm64, linux/arm/v7, linux/arm/v6 |
使用buildx创建多架构镜像
1 2 3 |
docker login docker buildx create --use docker buildx build --platform linux/arm64,linux/arm/v7,linux/arm/v6 -t minirplus/speedtest-cli:arm --push . |
访问:https://hub.docker.com/r/minirplus/speedtest-cli/tags?page=1&ordering=last_updated
这个时候看到tag:arm已经支持arm的不同架构
测试,登录RaspberryPi,树莓派与t4g一样是基于ARM架构
查看架构
1 |
arch |
1 |
armv7l |
安装Docker
1 |
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh |
运行测速
1 |
docker run -it --rm --privileged minirplus/speedtest-cli:arm --no-upload --server 3633 |
Done!
There are no comments yet