【Docker项目实战】使用Docker部署speedtest-x网站测试工具

2024-09-16 16:36:07 浏览数 (1)

一、speedtest-x介绍

1.1 speedtest-x简介

speedtest-x使用文件数据库来保存来自不同用户的测速结果,方便您查看全国不同地域与运营商的测速效果。

1.2 使用场景

  • 家庭用户:家庭用户可以定期运行 speedtest-x 来监测其家庭网络的速度和稳定性。这有助于他们在遇到网络问题时能够及时向ISP报告并要求解决。
  • 企业IT部门:企业IT部门利用 speedtest-x 来持续监控办公网络的质量,确保员工的工作效率。数据可以帮助他们识别网络瓶颈或故障时段,从而采取相应的措施。
  • 远程工作者:远程工作者可以在不同地点使用 speedtest-x 来比较不同网络连接的性能。这样可以确保他们始终选择最佳的网络环境来进行工作。
  • 游戏爱好者:游戏爱好者可以使用 speedtest-x 来测试他们的网络延迟,以选择延迟最低的游戏服务器。低延迟可以提高在线游戏体验,减少因网络问题导致的游戏延迟或卡顿。
  • 移动用户: 移动用户可以在不同的城市使用 speedtest-x 来测试他们的移动数据连接速度。这可以帮助他们了解不同地区的网络覆盖情况,尤其是在旅行时选择最优的数据计划。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname

IP地址

操作系统版本

Docker版本

jeven01

192.168.3.88

Ubuntu 22.04.1 LTS

27.1.1

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.使用Docker部署speedtest-x网站测试工具。

2.3 项目支持平台

  • 支持平台: amd64 / arm64三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

代码语言:bash复制
root@ubuntu-001:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2024-08-20 15:04:07 UTC; 4s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 21958 (dockerd)
      Tasks: 10
     Memory: 24.7M
        CPU: 231ms
     CGroup: /system.slice/docker.service
             └─21958 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本,Docker版本为27.1.1。

代码语言:bash复制
root@jeven01:/data/poapoa/paopao-ce# docker -v
Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

代码语言:bash复制
root@jeven01:/data/poapoa/paopao-ce# docker compose version
Docker Compose version v2.19.1

四、拉取镜像

在docker hub拉取speedtest-x镜像,镜像名为badapple9/speedtest-x。

代码语言:bash复制
root@jeven01:~# docker pull badapple9/speedtest-x
Using default tag: latest
latest: Pulling from badapple9/speedtest-x
a603fa5e3b41: Pull complete
c428f1a49423: Pull complete
156740b07ef8: Pull complete
fb5a4c8af82f: Pull complete
25f85b498fd5: Pull complete
9b233e420ac7: Pull complete
fe42347c4ecf: Pull complete
d14eb2ed1e17: Pull complete
66d98f73acb6: Pull complete
d2c43c5efbc8: Pull complete
ab590b48ea47: Pull complete
80692ae2d067: Pull complete
05e465aaa99a: Pull complete
edd74f14a35a: Pull complete
22d9d23a8b4b: Pull complete
aaa4af2d1a3d: Pull complete
921a6f18a59a: Pull complete
ff6ac27c9a81: Pull complete
5a3e085ad83d: Pull complete
ba6b60156caa: Pull complete
5abcb389a068: Pull complete
77816eb4ff12: Pull complete
Digest: sha256:0838c1e073cf72251e3abd062759c7b4e92bd69c57cdb188f976e07604a0b150
Status: Downloaded newer image for badapple9/speedtest-x:latest
docker.io/badapple9/speedtest-x:latest

五、部署speedtest-x应用

5.1 创建部署目录

创建部署目录/data/speedtest-x

代码语言:bash复制
mkdir -p /data/speedtest-x  && cd /data/speedtest-x/

5.2 使用docker-cli部署(可选)

在终端命令行,我们可以使用docker-cli部署。

代码语言:bash复制
docker run -d --name speedtest-x --restart always -p 9001:80 -it badapple9/speedtest-x
  • 启动时可选指定变量
代码语言:bash复制
-e WEBPORT=80: 容器内使用的端口

-e MAX_LOG_COUNT=100: 最大可保存多少条测速记录

-e IP_SERVICE=ip.sb: 使用的 IP 运营商解析服务(ip.sb 或 ipinfo.io)

-e SAME_IP_MULTI_LOGS=false: 是否允许同一IP记录多条测速结

5.3 编辑docker-compose.yaml

新建及编辑docker-compose.yaml文件,内容如下:

代码语言:bash复制
vim docker-compose.yaml
代码语言:yaml复制
version: '3.9'
services:
    speedtest-x:
        image: badapple9/speedtest-x
        tty: true
        stdin_open: true
        ports:
            - '9001:80'
        restart: always
        container_name: speedtest-x

5.4 创建容器

使用docker compose部署speedtest-x项目

代码语言:bash复制
root@jeven01:/data/speedtest-x# docker compose up -d
[ ] Running 2/2
 ✔ Network speedtest-x_default  Created                                                                                                                                              0.1s
 ✔ Container speedtest-x        Started                                                                                                                                              0.6s

5.5 检查容器状态

检查容器状态,确保容器正常运行。

代码语言:bash复制
root@jeven01:/data/speedtest-x# docker compose ps
NAME                IMAGE                   COMMAND                  SERVICE             CREATED             STATUS              PORTS
speedtest-x         badapple9/speedtest-x   "docker-php-entrypoi…"   speedtest-x         15 seconds ago      Up 14 seconds       0.0.0.0:9001->80/tcp, :::9001->80/tcp

5.6 检查容器日志

检查speedtest-x容器运行正常,确保speedtest-x服务正常。

代码语言:bash复制
在这里插入代码片

六、访问speedtest-x页面

6.1 访问speedtest-x初始页

访问地址:http://192.168.3.88:9001,将IP替换为自己服务器IP地址,进入到speedtest-x初始页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

6.2 开始测速

点击页面的“start”按钮,则开始测试。

七、总结

speedtest-x 是一款实用工具,它通过文件数据库保存不同用户的测速结果,使得用户能够轻松查看全国范围内不同地域和运营商的网络性能。这对于需要了解特定地区或运营商网络质量的人来说非常有用。无论是家庭用户监控自家网络状态,还是企业IT部门需要维护稳定的网络连接,亦或是远程工作者寻找最佳工作地点,speedtest-x 都能提供有价值的信息支持。此外,游戏爱好者也可以利用它来找到延迟最低的游戏服务器,从而获得更佳的游戏体验。

0 人点赞