docker實(shí)戰(zhàn):使用Docker部署speedtest-tracker速度測(cè)試追蹤器

  • 1.1 speedtest-tracker簡(jiǎn)介
  • 1.2 speedtest-tracker功能
  • 1.3 speedtest-tracker使用場(chǎng)景
  • 2.1 本地環(huán)境規(guī)劃
  • 2.2 本次實(shí)踐介紹
  • 3.1 檢查Docker服務(wù)狀態(tài)
  • 3.2 檢查Docker版本
  • 3.3 檢查docker compose 版本
  • 5.1 使用docker-cli創(chuàng)建speedtest-tracker容器
  • 5.2 編輯docker-compose.yaml文件
  • 5.3 運(yùn)行speedtest-tracker容器
  • 5.4 檢查speedtest-tracker容器狀態(tài)
  • 5.5 檢查speedtest-tracker容器日志

一、speedtest-tracker介紹

1.1 speedtest-tracker簡(jiǎn)介

  • speedtest-tracker簡(jiǎn)介

speedtest-tracker可以持續(xù)跟蹤您的互聯(lián)網(wǎng)速度,該程序每小時(shí)運(yùn)行一次速度測(cè)試檢查并繪制結(jié)果圖表。后端是用Laravel編寫(xiě)的,前端使用React。它使用Ookla 的 speedtest cli包獲取數(shù)據(jù)并使用Chart.js繪制結(jié)果。

1.2 speedtest-tracker功能

  • 每小時(shí)自動(dòng)運(yùn)行一次速度測(cè)試
  • x 天之前的速度測(cè)試圖表
  • 以 JSON/CSV 格式備份/恢復(fù)數(shù)據(jù)
  • Slack/Discord/Telegram 通知
  • healthchecks.io集成
  • 組織整合
  • InfluxDB 集成(目前僅 v1,v2 尚未完成)

1.3 speedtest-tracker使用場(chǎng)景

  • 在家辦公:當(dāng)您在家辦公時(shí),您可能需要知道您的互聯(lián)網(wǎng)速度是否足夠快以滿足您的工作需求。通過(guò)使用speedtest-tracker,您可以持續(xù)跟蹤您的互聯(lián)網(wǎng)速度,并將結(jié)果圖表化,以便您了解在不同時(shí)間段內(nèi)的速度變化情況。
  • 網(wǎng)絡(luò)游戲:對(duì)于喜歡在線游戲的人來(lái)說(shuō),穩(wěn)定的和快速的互聯(lián)網(wǎng)連接是非常重要的。speedtest-tracker可以幫助您監(jiān)測(cè)您的互聯(lián)網(wǎng)速度,以確保您的連接在游戲過(guò)程中不會(huì)出現(xiàn)延遲或連接中斷問(wèn)題。
  • 互聯(lián)網(wǎng)服務(wù)提供商選擇:如果您對(duì)您的互聯(lián)網(wǎng)服務(wù)提供商的速度感到不滿意,您可以使用speedtest-tracker來(lái)持續(xù)監(jiān)測(cè)您的互聯(lián)網(wǎng)速度。您可以將收集到的結(jié)果與其他供應(yīng)商的速度進(jìn)行比較,以便做出更明智的選擇。
  • 網(wǎng)絡(luò)故障排除:當(dāng)您的互聯(lián)網(wǎng)連接出現(xiàn)問(wèn)題時(shí),您可以使用speedtest-tracker來(lái)進(jìn)行速度測(cè)試,并將結(jié)果與正常情況下的速度進(jìn)行對(duì)比。這可以幫助您確定問(wèn)題的根源,并更好地向互聯(lián)網(wǎng)服務(wù)提供商或技術(shù)支持團(tuán)隊(duì)描述您遇到的問(wèn)題。
  • 互聯(lián)網(wǎng)速度優(yōu)化:如果您想改善您的互聯(lián)網(wǎng)速度,您可以使用speedtest-tracker來(lái)持續(xù)監(jiān)測(cè)您的互聯(lián)網(wǎng)速度,并嘗試在不同時(shí)間段使用不同的網(wǎng)絡(luò)設(shè)置。通過(guò)對(duì)比結(jié)果,您可以確定哪些設(shè)置或時(shí)間段提供了最佳的速度,并相應(yīng)地進(jìn)行優(yōu)化。

二、本地環(huán)境介紹

2.1 本地環(huán)境規(guī)劃

本次實(shí)踐為個(gè)人測(cè)試環(huán)境,操作系統(tǒng)版本為centos7.6。

Docker實(shí)戰(zhàn):使用Docker部署speedtest-tracker速度測(cè)試追蹤器

2.2 本次實(shí)踐介紹

1.本次實(shí)踐部署環(huán)境為個(gè)人測(cè)試環(huán)境,生產(chǎn)環(huán)境請(qǐng)謹(jǐn)慎; 2.在Docker環(huán)境下部署 speedtest-tracker。

三、本地環(huán)境檢查

3.1 檢查Docker服務(wù)狀態(tài)

檢查Docker服務(wù)是否正常運(yùn)行,確保Docker正常運(yùn)行。

[root@jeven ~]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2024-02-15 19:05:02 CST; 1min 7s ago Main PID: 12320 (dockerd) Tasks: 12 Memory: 131.8M CGroup: /system.slice/docker.service

3.2 檢查Docker版本

檢查Docker版本

[root@jeven ~]# docker -v Docker version 20.10.17, build 100c701

3.3 檢查docker compose 版本

檢查Docker compose版本,確保2.0以上版本。

[root@jeven ~]# docker compose version Docker Compose version v2.6.0

四、下載speedtest-tracker鏡像

從docker hub拉取speedtest-tracker鏡像

[root@jeven ~]# docker pull henrywhitaker3/speedtest-tracker Using default tag: latest latest: Pulling from henrywhitaker3/speedtest-tracker c91af5d1b23e: Pull complete 740fcfa9e15a: Pull complete ce5b3694a6d6: Pull complete a83d676a55d9: Pull complete 38ac933c5d8d: Pull complete dc32e0469fc9: Pull complete 2692dc6e8a90: Pull complete 36a44203a304: Pull complete df68ab8ba510: Pull complete 712e86a465e0: Pull complete b87cc77a8de9: Pull complete Digest: sha256:47159a9402291275bd9f8a8ed4f5c1ce8502de216465ed29da8a3c995b807df1 Status: Downloaded newer image for henrywhitaker3/speedtest-tracker:latest docker.io/henrywhitaker3/speedtest-tracker:latest

五、部署speedtest-tracker

5.1 使用docker-cli創(chuàng)建speedtest-tracker容器

使用docker-cli快速部署speedtest-tracker容器

docker create --name=speedtest -p 6890:80 -v /data/speedtest/config:/config -e OOKLA_EULA_GDPR=true --restart unless-stopped henrywhitaker3/speedtest-tracker

5.2 編輯docker-compose.yaml文件

創(chuàng)建掛載目錄

mkdir -p /data/speedtest/config && cd /data/speedtest/

本次實(shí)踐使用docker compose方式運(yùn)行Calcium容器,編輯docker-compose.yaml文件內(nèi)容如下:

version: '3.3' services: speedtest: container_name: speedtest image: henrywhitaker3/speedtest-tracker ports: - 6890:80 volumes: - /data/speedtest/config:/config environment: - TZ=Asia/Shanghai - OOKLA_EULA_GDPR=true logging: driver: "json-file" options: max-file: "10" max-size: "200k" restart: always

相關(guān)環(huán)境變量設(shè)置介紹:

  • -p 8765:80 在端口 8765 上公開(kāi) Web 服務(wù)器
  • -v /config 所有配置文件都保存在此處。
  • -e OOKLA_EULA_GDPR 設(shè)置為“true”以接受 Ookla EULA和隱私協(xié)議。如果不設(shè)置,容器將不會(huì)啟動(dòng)。
  • -e SLACK_WEBHOOK 可選的。在此處放置一個(gè) slack webhook,以便在運(yùn)行速度測(cè)試時(shí)獲取 slack 通知。要使用 Discord Webhooks,只需附加/slack到 Discord Webhook URL 的末尾即可
  • -e TELEGRAM_BOT_TOKEN 可選的。Telegram 機(jī)器人 API 令牌。
  • -e TELEGRAM_CHAT_ID 可選的。。
  • -e PUID 可選的。為卷權(quán)限提供本地用戶 ID
  • -e PGID 可選的。為卷權(quán)限提供本地組 ID
  • -e AUTH 可選的。設(shè)置為“true”以啟用應(yīng)用程序身份驗(yàn)證
  • -e INFLUXDB_RETENTION 可選的。設(shè)置InfluxDB保留期限,默認(rèn)為30d
  • `-e INFLUXDB_HOST_TAG 可選的。設(shè)置InfluxDB主機(jī)標(biāo)簽值,默認(rèn)為speedtest

5.3 運(yùn)行speedtest-tracker容器

  • 使用docker-compose.yaml文件創(chuàng)建speedtest-tracker容器

[root@jeven speedtest]# docker compose up -d [+] Running 2/2 ? Network speedtest_default Created 0.0s ? Container speedtest Started 0.7s

5.4 檢查speedtest-tracker容器狀態(tài)

檢查speedtest-tracker容器狀態(tài),確speedtest-tracker容器正常啟動(dòng)。

[root@jeven speedtest]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3f18b898c1eb henrywhitaker3/speedtest-tracker "/init" 2 seconds ago Up 2 seconds 443/tcp, 0.0.0.0:6890->80/tcp, :::6890->80/tcp speedtes

5.5 檢查speedtest-tracker容器日志

檢查speedtest-tracker容器運(yùn)行日志,確保speedtest-tracker服務(wù)正常運(yùn)行。

docker compose logs Docker實(shí)戰(zhàn):使用Docker部署speedtest-tracker速度測(cè)試追蹤器

六、訪問(wèn)speedtest-tracker首頁(yè)

訪問(wèn)地址:http://192.168.3.166:6890/,將IP替換為自己服務(wù)器IP地址,進(jìn)入到speedtest-tracker首頁(yè)。如果無(wú)法訪問(wèn),則檢查服務(wù)器防火墻是否設(shè)置,云服務(wù)器的安全組端口是否放行等。

Docker實(shí)戰(zhàn):使用Docker部署speedtest-tracker速度測(cè)試追蹤器
Docker實(shí)戰(zhàn):使用Docker部署speedtest-tracker速度測(cè)試追蹤器

七、總結(jié)

speedtest Tracker是一款非常實(shí)用的工具,它允許用戶持續(xù)跟蹤和監(jiān)控互聯(lián)網(wǎng)速度。這款工具具有直觀明了的用戶界面,自動(dòng)化的速度測(cè)試功能以及數(shù)據(jù)跟蹤和分析功能,能夠更好地了解互聯(lián)網(wǎng)服務(wù)質(zhì)量。同時(shí),我也很喜歡它的界面風(fēng)格,網(wǎng)速測(cè)試也很準(zhǔn)確,可以加入到我們的個(gè)人工具箱中。

作者聲明本文無(wú)利益相關(guān),歡迎值友理性交流,和諧討論~

,

聲明:本站所有文章,如無(wú)特殊說(shuō)明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書(shū)籍等各類媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。