by Devin Yang

建立于: 3年前 ( 更新: 1年前 )

Update 2022-11-06
有个HTML5图形化测速软体,有兴趣可以试看看,也支持Docker启动,使用上并不难。
HTML5 Internet Speed Test.
这个软体最大的优点可以拿来验证,别人连到您主机的速度。
我的经验透过这个软体测出内网的网络线有问题,没法跑到1G,
更换网络线后就跑1G了,相当好用。😄

https://openspeedtest.com/

==== 下方为旧数据了 ===
如何简单的用Docker创建internet命令行的测速进程呢?

这里我们使用python的进程speedtest-cli

会用Docker主要用例,例如我想要在我的NAS内进行测速,
虽然我的NAS内有python,但没有pip命令,这时用Docker感觉上安全很多,
当然前题您的NAS需能跑Docker:)。

或者,我在MacOS的环境,我不想安装speedtest-cli到我的MacOS中。

这时用Docker简单的自建简单的运行环境还满不错的。

一、首先创建Dockerfile文件,内容如下,这个Dockerfile用来build我们自己的Image

FROM python:rc-alpine3.13
RUN pip3 install speedtest-cli
CMD speedtest-cli

这里使用较小的image进行即可。
第一行,使用官方的python image为基础。
第二行,透过pip3安装speedtest-cli到image内
第三行,运行speedtest-cli,当容器创建并运行时,就会跑罗。

二、现在来build自己的image吧,请将Dockerfile放到一个自己建的目录内运行。

docker build -t deviny/speedtest .

在这里-t后的deviny/speedtest是我image的名称
示意图:

或者,您也可以粘贴下方命令到终端机一行搞定,来创建名为speedtest的image。

mkdir speedtest&&cd speedtest&&docker build -t speedtest -<<EOF
FROM python:rc-alpine3.13
RUN pip3 install speedtest-cli
CMD speedtest-cli
EOF

示意图:


三、因为我有创建Dockerhub的帐号了,所以我可以push到Dockerhub上。(选项、非必要)
这样我在其他地方有Docker的环境就能执接跑docker run罗。

docker push deviny/speedtest

四、运行测速命令

docker run --rm deviny/speedtest

这里的--rm代表了,运行完就删除容器。
示意图如下:

Testing from Chunghwa Telecom (211.72.111.169)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Chunghwa Mobile (Taipei) [1.62 km]: 5.098 ms
Testing download speed................................................................................
Download: 247.98 Mbit/s
Testing upload speed......................................................................................................
Upload: 102.39 Mbit/s


第三步中,我已将image上传到dockerhub啦,换言之,您可以直接运行第四步中的命令就会跑罗。:)
所以我们可以添加别名,方便下次运行。

alias speedtest="docker run --rm deviny/speedtest"

如果您使用的名称叫speedtest,命令因该如下哦 

docker run --rm speedtest


 

Tags: docker

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


openspeedtest,docker,phpenv

用phpenv跑openspeedtest

虽然我们可能会用speedtest之类网站进行上下传的速度的测试,那如果我们想测自己的Server的速度呢?像是用户在别的国家,连到我们的主机速度快慢 ,这时self-hosted的测试工具就很方便啦。最新版本的phpenv在services的yml档中,添加了openspeedtest.yml罗。

docker

D-Laravel上.env及docker-compsoe小教室

本文介绍,当我们使用D-Laravel的.env加载多个yml档时,为何docker-compose ps官方命令无法列出所有使用中的服务。 但在D-Laravel上的./console ps确能正常显示,那官方的docker-compose命令因如何使用才能有相同的效果呢?

docker

[必学]在docker swarm环境必学iptabels的使用

首先Docker在Linux的环境下,Docker使用iptables规则来提供网络隔离。然而在Docker swarm mode的环境下,我们是没辨法把连接埠开在host的127.0.0.1下的,这时便可透过iptables中的DOCKER-USER chain来自定义规则罗 。