
Heimdallr是一款基于哈希算法的无状态密码管理器与生成器。它摒弃了传统的数据库存储方式,用户只需牢记一个主密码,即可通过“主密码+网站标识”实时派生出全网各个网站的独立密码,彻底解决密码遗忘与多端同步的烦恼。
本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。
hostname | IP地址 | 操作系统版本 | Docker版本 | 部署项目 | 备注 |
|---|---|---|---|---|---|
jeven | 192.168.3.88 | Ubuntu 24.04.2 LTS | 28.5.0 | Heimdallr | 镜像版本v1.2.2 |
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下安装Heimdallr无状态密码管理器。
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Sun 2026-05-31 23:17:28 CST; 1 month 29 days ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 945 (dockerd)
Tasks: 117
Memory: 787.7M (peak: 1018.4M swap: 11.8M swap peak: 12.6M)
CPU: 58min 1.415s
CGroup: /system.slice/docker.service
检查Docker版本
root@jeven:~# docker -v
Docker version 28.5.0, build 887030f检查Docker compose版本,确保2.0以上版本。
root@jeven:~# docker compose version
Docker Compose version v2.39.4下载Heimdallr镜像,使用的镜像版本为:
eluki/heimdallr-password-manager:v1.2.2。
root@jeven:~# 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
mkdir -p /data/heimdallr && cd /data/heimdallr如果想要使用docker-cli方式部署,可参考以下命令部署。(可选)
docker run -d \
--restart always \
--name heimdallr \
-p 5200:80 \
eluki/heimdallr-password-manager:v1.2.2本次实践我们采用 Docker Compose 方式进行部署,这也是我推荐的方式。首先我们需要创建并编辑
docker-compose.yaml文件,请注意宿主机映射端口可根据您的实际情况自行设置,务必避免端口冲突。
vim docker-compose.yamlversion: '3.8'
services:
host:
image: eluki/heimdallr-password-manager:v1.2.2
container_name: heimdallr
restart: always
ports:
- "5200:80"
deploy:
resources:
limits:
memory: 256M
cpus: '0.5'
logging:
driver: "json-file"
options:
max-size: "3m"
max-file: "3"执行以下命令,创建Heimdallr容器。
docker compose up -d
检查Heimdallr容器运行状态,确保Heimdallr容器正常启动。
root@jeven:/data/heimdallr# docker compose ps
WARN[0000] /data/heimdallr/docker-compose.yaml: the attribute `version` is 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.2 "dotnet Heimdallr.Ho…" host 28 seconds ago Up 27 seconds 0.0.0.0:5200->80/tcp, [::]:5200->80/tcp
检查容器运行日志,确保Heimdallr服务正常运行。
docker compose logs
浏览器地址:
http://<个人的服务器IP>:5200,访问Heimdallr初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

参数 | 描述 |
|---|---|
Service name | 目标服务的标识名称,作为密码派生的输入因子之一。 |
Common name | 服务关联的账号或密码 ID,与 Service name 共同确定唯一密码。 |
Master password | 主密码,结合服务名称、账号及字典通过哈希算法派生出确定性密码。 |
Include letters | 控制生成的密码中是否包含字母字符。 |
Include numbers | 控制生成的密码中是否包含数字字符。 |
Include symbols | 控制生成的密码中是否包含特殊符号字符。 |
Password length | 设定生成密码的字符长度。 |
Version | 密码版本号,递增该值可在不更改主密码的情况下派生新密码。 |
自行填写相关信息,点击生成密码即可。


本次在 Docker 中完成了 Heimdallr 无状态密码管理器的部署实践,借助容器可以快速搭建起轻量化的密码生成管理服务。整个部署流程操作简单,无需复杂数据库配置,充分体现了无状态应用部署便捷、迁移灵活的优势。使用 Docker Compose 或者 docker‑cli 两种方式均可完成服务启动,能够适配不同运维场景的使用需求。通过本次实践也可以看出,容器非常适合部署这类轻量工具类应用,方便个人本地或内网环境快速搭建安全密码工具。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。