Vaultwarden Wiki 中文版
⮐ Vaultwarden Wiki个人主页联系我
  • 关于
  • 首页
  • FAQ
    • 1.FAQ
    • 2.审计
    • 故障排除
      • 1.Bitwarden Android 故障排除
  • 容器镜像的使用
    • 1.容器镜像的选择
    • 2.启动容器
    • 3.更新 Vaultwarden 镜像
    • 4.使用 Docker Compose
    • 5.使用 Podman
  • 部署
    • 1.构建您自己的镜像
    • 2.构建二进制
    • 3.预构建二进制
    • 4.第三方包
    • 5.部署示例
    • 6.代理示例
    • 7.转储示例
    • HTTPS
      • 1.启用 HTTPS
      • 2.使用 Let's Encrypt 证书运行私有 Vaultwarden 实例
  • 配置
    • 1.配置概述
    • 2.禁用新用户注册
    • 3.禁用邀请
    • 4.启用管理页面
    • 5.禁用管理令牌
    • 6.启用 WebSocket 通知
    • 7.启用移动客户端推送通知
    • 8.启用 U2F 和 FIDO2 WebAuthn 身份验证
    • 9.启用 YubiKey OTP 身份验证
    • 10.更改持久性数据位置
    • 11.更改 API 请求大小限制
    • 12.更改 worker 数量
    • 13.SMTP 配置
    • 14.显示密码提示
    • 15.禁用或覆盖密码库接口托管
    • 16.日志记录
    • 17.设置为 systemd 服务
    • 18.从 LDAP 同步用户
    • 19.使用备用基本目录(子目录/子路径)
    • 20.其他配置
    • *使用 systemd docker 运行
    • 数据库
      • 1.使用 MariaDB (MySQL) 后端
      • 2.使用 PostgreSQL 后端
      • 3.在未启用 WAL 的情况下运行
      • 4.从 MariaDB (MySQL) 迁移到 SQLite
    • 安全
      • 1.强化指南
      • 2.Fail2ban 设置
      • 3.Docker Traefik ModSecurity 设置
    • 其他
      • 1.翻译电子邮件模板
      • 2.翻译管理页面
      • 3.自定义 Vaultwarden CSS
  • 备份
    • 1.通用(非 docker)
  • 其他
    • 1.从 Keepass 或 KeepassX 导入数据
    • 2.备份您的密码库
    • 3.与上游 API 实现的区别
    • 4.支持上游的发展
    • 5.使用 Cloudflare DNS 的 Caddy 2.x
    • 6.Git hooks
    • *使用非 root 用户运行 docker 容器
    • *使私有 CA 和自签名证书兼容 Chrome
    • *测试 SSO
由 GitBook 提供支持
在本页
  • 创建容器
  • 启动容器
  • 自定义容器启动
  • 示例
  1. 容器镜像的使用

2.启动容器

上一页1.容器镜像的选择下一页3.更新 Vaultwarden 镜像

最后更新于2个月前

对应的

请注意,docker run 命令的名字略有误导性,因为它不仅会创建一个容器,它还会启动此容器。当在仅停止容器而不移除此容器后使用 docker run 命令时,会导致发生冲突。为了一个简单的开始,请接着往下看。

创建容器

持久性数据存储在容器内的 /data 下,因此使用 Docker 进行持久性部署的唯一要求是挂载持久性卷。创建一个本地目录来映射容器的持久存储:

mkdir /vw-data

如果你碰巧使用 SELinux (RHEL & Clones / Fedora),你必须设置持久存储的上下文,以便容器可以写入它:

semanage fcontext -a -t svirt_sandbox_file_t '/vw-data(/.*)?'
restorecon -Rv /vw-data
# 使用 Docker:
docker run -d --name vaultwarden -v /vw-data/:/data/ -p 80:80 vaultwarden/server:latest
# 使用 Podman as non-root:
podman run -d --name vaultwarden -v /vw-data/:/data/:Z -e ROCKET_PORT=8080 -p 8080:8080 vaultwarden/server:latest
# 使用 Podman as root:
sudo podman run -d --name vaultwarden -v vw-data:/data/:Z -p 80:80 vaultwarden/server:latest

所有持久性数据将保存在 /vw-data/ 路径下,您可以根据自己的需要调整此路径。

该服务将暴露在主机的 80 或 8080 端口上。默认情况下,非 root 容器不允许使用特权端口 (<1024),因此需要通过端口映射来传递 ROCKET_PORT 环境变量以更改 Vaultwarden 的监听端口。

对于非 x86 硬件或要运行特定版本,可以。

如果您的 docker/vaultwarden 运行在具有固定 IP 的设备上,则可以将主机端口绑定到该 IP 地址,从而避免将主机端口暴露到网络上。如下所示,将 IP 地址(例如 192.168.0.2)添加到主机端口和容器端口前面:

# 使用 Docker:
docker run -d --name vaultwarden -v /vw-data/:/data/ -p 192.168.0.2:80:80 vaultwarden/server:latest

启动容器

如果运行了 docker stop vaultwarden 命令,或重启,亦或任何其他原因,容器停止了,则可以使用以下命令将其启动:

docker start vaultwarden

自定义容器启动

自定义启动脚本对于修补网页密码库文件或安装额外的包、CA 证书等非常有用,因为可以让您不必构建和维护您自己的 Docker 镜像。

示例

假设您的脚本名为 init.sh,其包含以下内容:

echo "starting up"

您可以像这样在启动时运行此脚本:

docker run -d --name vaultwarden -v $(pwd)/init.sh:/etc/vaultwarden.sh <other docker args...> vaultwarden/server:latest

如果您运行 docker logs vaultwarden,现在您应该能看到 starting up 作为输出的第一行。

请注意,每次容器启动时都会运行初始化脚本(而不仅仅是第一次),所以这些脚本通常应该是幂等的(即,您可以多次运行这些脚本而不会出现不良/异常)。如果您的脚本天然没有此属性,你可以这样做:

if [ ! -e /.init ]; then
  touch /.init

  # 运行您的初始化步骤...
fi

如果您想在容器启动时运行自定义启动脚本,可以将 /etc/vaultwarden.sh 作为单个脚本和/或将 /etc/vaultwarden.d 作为脚本目录挂载到容器中。对于后一种情况,只有扩展名为 .sh 的文件才会运行,因此具有其他扩展名的文件(例如,data/config 文件)则可以驻留在同一个目录中(具体的工作方式请参见 )。

官方页面地址
选择其他镜像
start.sh