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

需要登入才可留言!

类似文章


docker

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

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

docker, tinkerwell, tinker, laravel

Tinkerwell与docker环境运用

其实我最近不用Tinkerwell了,因为老是要我花钱更新。要测试直接ssh 主机不就搞定啦不是?

docker,git

用docker-compose快速创建私有的git服务

如何快速创建一个开箱即用的Gogs环境呢? 本文介绍采用docker-compose.yml快速创建gogs环境。