You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Docker Compose部署Trino时设置密码?

给Trino官方Docker镜像设置密码的方法

当然可以给Trino官方Docker镜像设置密码,默认无密码的admin用户只是基础配置,通过挂载自定义认证配置文件就能启用密码认证,具体步骤如下:

1. 生成密码文件

用htpasswd工具生成存储密码的文件(无该工具可通过apt install apache2-utils或brew install httpd安装):

htpasswd -c password.db admin

执行后按提示输入admin用户的密码,命令会生成名为password.db的密码存储文件。

2. 创建认证配置文件

在本地目录创建password-authenticator.properties文件,内容如下:

password-authenticator.name=file
file.password-file=/etc/trino/password.db

该配置指定使用文件型密码认证器,并指向容器内的密码文件路径。

3. 创建访问控制配置

为确保认证后用户能正常访问Trino资源,需配置访问控制规则:

  • 创建access-control.properties文件:
access-control.name=file
file.access-control-config=/etc/trino/access-control.json
  • 创建access-control.json文件,配置admin用户的全量访问权限:
{
  "catalogs": [
    {
      "user": "admin",
      "catalog": "*",
      "allow": "all"
    }
  ],
  "schemas": [
    {
      "user": "admin",
      "catalog": "*",
      "schema": "*",
      "allow": "all"
    }
  ]
}

4. 挂载配置启动容器

运行Docker容器时,将本地创建的4个文件挂载到容器内的/etc/trino/目录:

docker run -d \
  -p 8080:8080 \
  -v $(pwd)/password-authenticator.properties:/etc/trino/password-authenticator.properties \
  -v $(pwd)/password.db:/etc/trino/password.db \
  -v $(pwd)/access-control.properties:/etc/trino/access-control.properties \
  -v $(pwd)/access-control.json:/etc/trino/access-control.json \
  trinodb/trino

5. 验证密码认证

容器启动后,使用Trino CLI连接时需要输入密码:

trino --server localhost:8080 --user admin --password

输入之前设置的密码即可正常登录。

注意:确保挂载的文件权限正确,容器内的trino用户需拥有读取这些文件的权限,若出现权限问题,可通过chmod 644 *.properties *.db *.json调整本地文件权限。

内容的提问来源于stack exchange,提问作者Cherry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 21:45:09