
【Docker项目实战】使用Docker部署PSWD密码生成器一、PSWD介绍1.1 PSWD 简介1.2 主要特点二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、下载PSWD镜像五、部署PSWD应用5.1 创建部署目录5.2 编辑部署文件5.3 创建PSWD容器5.4 查PSWD容器状态5.5 查看PSWD容器日志六、访问PSWD服务6.1 访问PSWD初始页七、PSWD密码生成器的基本使用7.1 生成密码7.2 生成密码短语八、总结一、PSWD介绍1.1 PSWD 简介PSWD是一个使用 TypeScript 开发的开源密码生成器项目旨在帮助用户轻松生成强而复杂的密码从而增强其在线安全性。随着网络安全威胁的不断增加使用强密码成为保护个人隐私和敏感信息的重要手段之一。PSWD 提供了一个直观易用的界面使用户能够根据自己的需求自定义密码的复杂性和长度确保每个生成的密码都是独一无二且难以被破解的。1.2 主要特点用户友好的界面PSWD 提供了一个简洁明了的用户界面用户无需具备任何技术背景即可快速上手。通过简单的滑块和选项按钮用户可以轻松调整密码的长度和复杂性。高度可定制性密码长度用户可以选择生成密码的具体长度从最短的8个字符到最长的64个字符不等。字符集选择支持多种字符集组合包括大写字母、小写字母、数字和特殊符号用户可以根据需要选择包含哪些字符集。排除相似字符为了避免混淆用户可以选择排除容易混淆的字符如O和0l和1。强大的安全功能随机性保证PSWD 使用高质量的随机数生成算法确保每次生成的密码都是完全随机且不可预测的。本地生成所有密码都在用户的设备上生成不会通过网络传输或存储在云端最大限度地保护用户隐私。加密存储如果用户选择保存生成的密码PSWD 支持对密码进行加密存储并提供安全的解锁机制。跨平台兼容性PSWD 基于 TypeScript 开发具有良好的跨平台特性可以在 Windows、macOS 和 Linux 等多种操作系统上运行。同时支持桌面应用和浏览器扩展方便用户随时随地生成和管理密码。集成与扩展第三方集成PSWD 可以与其他安全工具和服务无缝集成例如密码管理器、双因素认证2FA等。插件系统开发者可以通过插件系统为 PSWD 添加新的功能和特性满足不同用户的需求。开源与社区支持PSWD 是一个开源项目代码托管在 GitHub 上任何人都可以查看、贡献和改进代码。拥有一个活跃的开发者社区定期发布更新和修复漏洞确保项目的长期稳定和发展。二、本次实践规划2.1 本地环境规划本次实践为个人测试环境操作系统版本为|Ubuntu 22.04.1。hostnameIP地址操作系统版本Docker版本镜像版本jeven01192.168.3.88Ubuntu 22.04.1 LTS27.1.1latest2.2 本次实践介绍1.本次实践部署环境为个人测试环境生产环境请谨慎2.在Docker环境下部署PSWD密码生成器。三、本地环境检查3.1 检查Docker服务状态检查Docker服务是否正常运行确保Docker正常运行。rootjeven01:~# systemctl status docker● docker.service - Docker Application Container Engine Loaded: loaded(/lib/systemd/system/docker.service;enabled;vendor preset: enabled)Active: active(running)since Fri2024-11-01 00:45:50 CST;2weeks4days ago Docs: https://docs.docker.com Main PID:10450(dockerd)Tasks:60(limit:9387)Memory:1.8G CPU: 33min54.335s CGroup: /system.slice/docker.service3.2 检查Docker版本检查Docker版本rootjeven01:~# docker -vDocker version27.1.1, build63125853.3 检查docker compose 版本检查Docker compose版本确保2.0以上版本。rootjeven01:~# docker compose versionDocker Compose version v2.19.1四、下载PSWD镜像拉取PSWD镜像如下所示rootjeven01:~# docker pull ghcr.io/remvze/pswdUsing default tag: latest latest: Pulling from remvze/pswd 66a3d608f3fa: Pull complete 9fb01e15d186: Pull complete 638a7610da93: Pull complete 785d93e6656c: Pull complete 4f4fb700ef54: Pull complete e4288a270387: Pull complete dcd0583d169d: Pull complete Digest: sha256:88cad7a166ad083b61ba1b74ce596d2f7ddaa456953f4773a02a3455813534c1 Status: Downloaded newer imageforghcr.io/remvze/pswd:latest ghcr.io/remvze/pswd:latest五、部署PSWD应用5.1 创建部署目录创建部署目录mkdir-p/data/pswdcd/data/pswd5.2 编辑部署文件如果使用docker-cli部署可参考以下命令dockerrun-d\--namepswd\--log-opt max-size1g\--restartalways\-p9200:8080\ghcr.io/remvze/pswd在部署目录下创建docker-compose.yaml文件如下所示vimdocker-compose.yamlversion:3services:pswd:image:ghcr.io/remvze/pswdcontainer_name:pswdlogging:options:max-size:1grestart:alwaysports:-9200:80805.3 创建PSWD容器执行以下命令创建PSWD容器。rootjeven01:/data/pswd# docker compose up -d[]Running2/2 ✔ Network pswd_default Created0.1s ✔ Container pswd Started0.2s5.4 查PSWD容器状态检查PSWD容器状态状态确保PSWD容器正常启动。rootjeven01:/data/pswd# docker compose psNAME IMAGE COMMAND SERVICE CREATED STATUS PORTS pswd ghcr.io/remvze/pswdcaddy run --config …pswd39seconds ago Up39seconds80/tcp,443/tcp,2019/tcp,443/udp,0.0.0.0:9200-8080/tcp, :::9200-8080/tcp5.5 查看PSWD容器日志检查PSWD容器日志确保PSWD服务正常运行。dockercompose logs六、访问PSWD服务6.1 访问PSWD初始页请访问http://个人的服务器IP:9200查看PSWD的初始页。如果无法访问请确保宿主机的防火墙已关闭或已放行相关端口对于云服务器还需配置相应的安全组规则。七、PSWD密码生成器的基本使用7.1 生成密码破解时间估算破解时间2分钟哈希尝试速率每秒 10^10 次尝试Password Length密码长度设置生成密码的字符数量密码越长破解所需时间越长。Include Uppercase Letters包含大写字母选择是否在生成的密码中包含大写字母A-Z以增加复杂性。Include Lowercase Letters包含小写字母选择是否在生成的密码中包含小写字母a-z以增加复杂性。Include Numbers包含数字选择是否在生成的密码中包含数字0-9以增加复杂性。Include Symbols包含符号选择是否在生成的密码中包含特殊符号如!#$%^*()以增加复杂性。Exclude Similar Characters排除相似字符选择是否排除容易混淆的字符如l、1、O、0以避免用户输入错误。Custom Symbols自定义符号允许用户指定特定的符号集如#$%仅使用这些符号来生成密码。Exclude Symbols排除符号允许用户指定不希望使用的符号集如/ \ ?这些符号将不会出现在生成的密码中。7.2 生成密码短语Number of Words设置密码中包含的单词数量。Capitalize Words决定是否将单词首字母或全部大写。Word Separator指定用于分隔单词的符号或字符。Custom Wordlist允许用户上传自定义的单词列表文件每个单词占一行。八、总结通过本次实践我们详细了解了 PSWD 密码生成器的功能和部署流程并成功在本地环境中搭建了 PSWD 应用。PSWD 提供了高度可定制的密码生成功能能够满足不同用户的安全需求增强了在线安全性。未来我们可以进一步探索 PSWD 的高级功能和集成选项以提升个人或企业的网络安全防护能力。