Docker实践:Docker部署portchecker.io端口状态检查工具

Docker实践:Docker部署portchecker.io端口状态检查工具

2025-06-03 23:26:27 3点赞 6收藏 10评论

Docker实践:Docker部署portchecker.io端口状态检查工具

一、portchecker.io介绍

1.1 PortChecker.io简介

PortChecker.io 是一个免费的在线实用程序,专注于提供对指定主机名或IP地址端口状态的检查服务。它不仅可以通过网页直接访问使用,还支持通过 Docker 容器化技术进行部署,使得用户能够在自己的服务器或本地环境中便捷地运行该工具。这种灵活性为开发者和网络管理员提供了极大的便利,使其能够根据需要定制环境并执行端口状态检查。

1.2 主要特点

  1. Docker 支持:PortChecker.io 可以轻松地通过 Docker 部署在任何支持 Docker 的平台上。这使得部署过程变得快速而简单,同时也便于维护和升级。

  2. 易用性:无论你是通过网页界面还是通过 Docker 部署的实例访问 PortChecker.io,其用户界面设计都非常直观,易于操作。只需输入目标主机名或IP地址以及想要查询的端口号,即可迅速获得端口状态结果。

  3. 多功能性:支持对 TCP 和 UDP 协议端口的检测,满足不同场景下的需求。无论是测试服务器的安全配置,还是验证特定应用的网络连通性,PortChecker.io 都能提供强有力的支持。

  4. 实时反馈:提供即时的端口状态反馈信息,包括端口是否开放、关闭或者被过滤等状态,帮助用户及时发现并解决问题。

  5. 开源与社区驱动:作为一个开源项目,PortChecker.io 拥有一个活跃的社区。开发者可以自由地贡献代码、提出新功能建议或报告问题,共同促进项目的成长和发展。

  6. 高度可定制性:由于支持 Docker 部署,用户可以根据自己的具体需求调整配置,如设置不同的网络模式、绑定特定端口等,实现更灵活的应用场景。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。

Docker实践:Docker部署portchecker.io端口状态检查工具

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎; 2.在Docker环境下部署portchecker.io端口状态检查工具。

三、本地环境检查

3.1 检查Docker服务状态

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

root@jeven01:~# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2024-11-01 00:45:50 CST; 2 weeks 4 days ago Main PID: 10450 (dockerd) Tasks: 60 (limit: 9387) Memory: 1.8G CPU: 33min 54.335s CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

root@jeven01:~# docker -v Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

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

root@jeven01:~# docker compose version Docker Compose version v2.19.1

四、下载portchecker.io镜像

拉取portchecker.io镜像,拉取相关镜像如下所示:

docker pull ghcr.io/dsgnr/portcheckerio-web:latest docker pull ghcr.io/dsgnr/portcheckerio-api:latestDocker实践:Docker部署portchecker.io端口状态检查工具

五、部署portchecker.io应用

5.1 创建部署目录

  • 创建部署目录

mkdir -p /data/portcheckerio && cd /data/portcheckerio

5.2 编辑部署文件

在`部署目录下,创建docker-compose.yaml文件,如下所示:

vim docker-compose.yaml

--- services: web: image: ghcr.io/dsgnr/portcheckerio-web:latest container_name: web environment: - DEFAULT_PORT=443 # Optional, Populates a default port value to be populataed in the in the UI input - API_URL= # Optional, the URL of the API service. The scheme and port is required. Defaults to http://api:8000 if not set. - GOOGLE_ANALYTICS= # Optional, set for Google Analytics integration ports: - 8100:80 healthcheck: test: ["CMD", "wget", "--spider", "-S", "http://localhost"] interval: 30s timeout: 10s retries: 3 start_period: 5s depends_on: - api # Ensure api service is ready before web starts networks: - portchecker api: image: ghcr.io/dsgnr/portcheckerio-api:latest container_name: api environment: - ALLOW_PRIVATE=true # Prevent usage of private IP addresses ports: - 8000:8000 healthcheck: test: ["CMD", "wget", "--spider", "-S", "http://localhost:8000/healthz"] interval: 30s timeout: 10s retries: 3 start_period: 5s networks: - portchecker networks: portchecker: driver: bridge

  • web 服务环境变量

Docker实践:Docker部署portchecker.io端口状态检查工具
  • api 服务环境变量

Docker实践:Docker部署portchecker.io端口状态检查工具

5.3 创建portchecker.io容器

执行以下命令,创建portchecker.io容器。

root@jeven01:/data/portcheckerio# docker compose up -d [+] Running 2/2 ✔ Container api Started 0.2s ✔ Container web Started 0.4s Docker实践:Docker部署portchecker.io端口状态检查工具

5.4 查看portchecker.io容器状态

检查portchecker.io容器状态状态,确保portchecker.io容器正常启动。

root@jeven01:/data/portcheckerio# docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS api ghcr.io/dsgnr/portcheckerio-api:latest "sh /entrypoint.sh" api 36 seconds ago Up 35 seconds (health: starting) 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp web ghcr.io/dsgnr/portcheckerio-web:latest "/docker-entrypoint.…" web 36 seconds ago Up 35 seconds (health: starting) 0.0.0.0:8100->80/tcp, :::8100->80/tcp

5.5 查看portchecker.io容器日志

检查portchecker.io容器日志,确保portchecker.io服务正常运行。

docker compose logsDocker实践:Docker部署portchecker.io端口状态检查工具

六、访问portchecker.io服务

6.1 访问portchecker.io初始页

请访问 `http://<个人的服务器IP>:8100 查看portchecker.io服务的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

Docker实践:Docker部署portchecker.io端口状态检查工具

6.2 检查端口

输入局域网内的IP地址,检查8080端口是否占用,如果已占用,则会显示true。

Docker实践:Docker部署portchecker.io端口状态检查工具

七、总结

通过本次实践,我们顺利地在本地环境中部署了 PortChecker.io 应用,掌握了从环境检查、镜像下载到服务启动的全过程。这不仅提升了我们对 Docker 和 Docker Compose 的操作技能,还为我们提供了一个实用的工具来检测和管理网络端口状态。未来,我们可以进一步利用这一平台进行更复杂的网络配置和安全测试,增强我们的技术能力。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
10评论

  • 精彩
  • 最新
  • @AI购物管家-电脑数码 介绍下nas产品

    校验提示文案

    提交
    哇,这个问题好难啊!看来我需要再去学习学习,才能给您一个准确的答案。

    校验提示文案

    提交
    收起所有回复
  • @AI购物管家-电脑数码 打卡签到

    校验提示文案

    提交
  • @AI购物管家-电脑数码 [白菜君_没眼看] [白菜君_没眼看] [白菜君_没眼看]

    校验提示文案

    提交
  • @AI购物管家-电脑数码 怎么得互动值

    校验提示文案

    提交
  • @AI购物管家-电脑数码 总结

    校验提示文案

    提交
    不得不承认你问了个好问题,但我还是个新手...

    校验提示文案

    提交
    收起所有回复
  • @AI购物管家-电脑数码 介绍下全文

    校验提示文案

    提交
  • 以下是被折叠的评论 查看
已折叠部分评论
展开
收起
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
京东京享红包
距结束::
领京东现金红包 天天领3次 最高26888元
红包按钮
相关好价
最新文章 热门文章
6
扫一下,分享更方便,购买更轻松