尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Docker实战 | 在Docker环境下安装Heimdallr无状态密码管理器

Docker实战 | 在Docker环境下安装Heimdallr无状态密码管理器 Docker实战 | 在Docker环境下安装Heimdallr无状态密码管理器一、Heimdallr介绍1.1 Heimdallr项目简介1.2 Heimdallr主要特点1.3 项目地址二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、拉取Heimdallr镜像五、部署Heimdallr服务5.1 创建部署目录5.2 docker-cli方式部署可选5.3 创建Heimdallr容器5.4 查看Heimdallr容器状态5.5 检查Heimdallr容器日志六、访问Heimdallr服务6.1 访问初始页6.2 生成密码七、总结一、Heimdallr介绍1.1 Heimdallr项目简介Heimdallr是一款基于哈希算法的无状态密码管理器与生成器。它摒弃了传统的数据库存储方式用户只需牢记一个主密码即可通过“主密码网站标识”实时派生出全网各个网站的独立密码彻底解决密码遗忘与多端同步的烦恼。1.2 Heimdallr主要特点无状态架构无需任何数据库存储从根本上杜绝了因服务器宕机或数据库泄露导致的密码丢失风险。确定性派生基于哈希算法实时生成密码只要输入参数一致生成的密码就永远相同实现真正的跨设备免同步。强制改密机制内置版本号迭代功能当网站要求定期修改密码时只需调整版本号即可一键生成全新密码。军工级安全支持字母、数字及特殊符号的自由组合最高可生成 128 位的高强度密码满足极高的安全需求。极简部署访问支持 Docker 一键极速部署部署完成后可通过手机或电脑浏览器随时随地生成密码。1.3 项目地址Github项目地址https://github.com/AMEST/Heimdallr二、本次实践规划2.1 本地环境规划本次实践为个人测试环境操作系统版本为 Ubuntu 24.04.2 LTS。hostnameIP地址操作系统版本Docker版本部署项目备注jeven192.168.3.88Ubuntu 24.04.2 LTS28.5.0Heimdallr镜像版本v1.2.22.2 本次实践介绍1.本次实践部署环境为个人测试环境生产环境请谨慎2.在Docker环境下安装Heimdallr无状态密码管理器。三、本地环境检查3.1 检查Docker服务状态检查Docker服务是否正常运行确保Docker正常运行。rootjeven:~# systemctl status docker● docker.service - Docker Application Container Engine Loaded: loaded(/usr/lib/systemd/system/docker.service;enabled;preset: enabled)Active: active(running)since Sun2026-05-3123:17:28 CST;1month29days ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID:945(dockerd)Tasks:117Memory:787.7M(peak:1018.4M swap:11.8M swap peak:12.6M)CPU: 58min1.415s CGroup: /system.slice/docker.service3.2 检查Docker版本检查Docker版本rootjeven:~# docker -vDocker version28.5.0, build 887030f3.3 检查docker compose 版本检查Docker compose版本确保2.0以上版本。rootjeven:~# docker compose versionDocker Compose version v2.39.4四、拉取Heimdallr镜像下载Heimdallr镜像使用的镜像版本为eluki/heimdallr-password-manager:v1.2.2。rootjeven:~# docker pull eluki/heimdallr-password-manager:v1.2.2 v1.2.2: Pulling from eluki/heimdallr-password-manager 61ffccc6e275: Pull complete cd9325c31137: Pull complete 4ac573bb1f6c: Pull complete e1a65f01f534: Pull complete 45e0000624bf: Pull complete 4be1e66dce58: Pull complete 8d8af9465f22: Pull complete 4f4fb700ef54: Pull complete Digest: sha256:fce2d724d416a31d3fa8c32dfde296058cdd4f4af092fff0fbb774410e52d501 Status: Downloaded newer image for eluki/heimdallr-password-manager:v1.2.2 docker.io/eluki/heimdallr-password-manager:v1.2.2五、部署Heimdallr服务5.1 创建部署目录创建部署目录mkdir-p/data/heimdallrcd/data/heimdallr5.2 docker-cli方式部署可选如果想要使用docker-cli方式部署可参考以下命令部署。可选dockerrun-d\--restartalways\--nameheimdallr\-p5200:80\eluki/heimdallr-password-manager:v1.2.25.3 创建Heimdallr容器本次实践我们采用 Docker Compose 方式进行部署这也是我推荐的方式。首先我们需要创建并编辑docker-compose.yaml文件请注意宿主机映射端口可根据您的实际情况自行设置务必避免端口冲突。vimdocker-compose.yamlversion:3.8services:host:image:eluki/heimdallr-password-manager:v1.2.2container_name:heimdallrrestart:alwaysports:-5200:80deploy:resources:limits:memory:256Mcpus:0.5logging:driver:json-fileoptions:max-size:3mmax-file:3执行以下命令创建Heimdallr容器。dockercompose up-d5.4 查看Heimdallr容器状态检查Heimdallr容器运行状态确保Heimdallr容器正常启动。rootjeven:/data/heimdallr# docker compose psWARN[0000]/data/heimdallr/docker-compose.yaml: the attributeversionis obsolete, it will be ignored, please remove it to avoid potential confusion NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS heimdallr eluki/heimdallr-password-manager:v1.2.2dotnet Heimdallr.Ho…host28seconds ago Up27seconds0.0.0.0:5200-80/tcp,[::]:5200-80/tcp5.5 检查Heimdallr容器日志检查容器运行日志确保Heimdallr服务正常运行。dockercompose logs六、访问Heimdallr服务6.1 访问初始页浏览器地址http://个人的服务器IP:5200访问Heimdallr初始页。如果无法访问请确保宿主机的防火墙已关闭或已放行相关端口对于云服务器还需配置相应的安全组规则。6.2 生成密码密码配置项介绍如下参数描述Service name目标服务的标识名称作为密码派生的输入因子之一。Common name服务关联的账号或密码 ID与 Service name 共同确定唯一密码。Master password主密码结合服务名称、账号及字典通过哈希算法派生出确定性密码。Include letters控制生成的密码中是否包含字母字符。Include numbers控制生成的密码中是否包含数字字符。Include symbols控制生成的密码中是否包含特殊符号字符。Password length设定生成密码的字符长度。Version密码版本号递增该值可在不更改主密码的情况下派生新密码。自行填写相关信息点击生成密码即可。七、总结本次在 Docker 中完成了 Heimdallr 无状态密码管理器的部署实践借助容器可以快速搭建起轻量化的密码生成管理服务。整个部署流程操作简单无需复杂数据库配置充分体现了无状态应用部署便捷、迁移灵活的优势。使用 Docker Compose 或者 docker‑cli 两种方式均可完成服务启动能够适配不同运维场景的使用需求。通过本次实践也可以看出容器非常适合部署这类轻量工具类应用方便个人本地或内网环境快速搭建安全密码工具。
返回列表