もう少しTrino/Prestoネタもブログに書いていこうかなというのと、普段テスト用途で古いバージョンのTrino/Prestoを手元で動かす際にdockerを使うことが多いので自分用のメモを兼ねて。
TrinoはDockerHubで公式のdockerイメージが公開されているので簡単にdockerで動かすことができます。イメージの使い方については以下にドキュメントがあります。
デフォルト設定で実行するだけならこんな感じ。
docker run --rm -p 8080:8080 --name trino trinodb/trino:371
起動後、以下のようにしてCLIクライアントで接続可能。もちろんlocalhostの8080ポートでWeb UIにもアクセスできますし、JDBCドライバなどで接続することも可能です。
docker exec -it trino trino
設定ファイルは /etc/trino
ディレクトリに格納されているのでローカルで設定ファイルを用意しておきこのディレクトリにマウントすることで任意の設定で動作させることができます。
docker run --rm -p 8080:8080 -v <ローカルディレクトリ>:/etc/trino --name trino trinodb/trino:371
以下のディレクトリにデフォルトの設定ファイル群があるのでこれをベースに設定を弄ったりカタログを追加したりするとよいと思います。
なお、Trinoへのリブランディングされた350以前のPresto時代のdockerイメージについてはDockerHubから削除されてしまっているのですが、GitHub Container Registryにイメージがバックアップされています。互換性のチェックのために過去のバージョンを使いたいケースも多いので助かります。
docker run --rm -p 8080:8080 -v <ローカルディレクトリ>:/etc/presto --name presto ghcr.io/trinodb/presto:350
設定ファイルを配置するディレクトリは /etc/presto
または /usr/lib/presto/default/etc
になっています(後者が優先されます)。
docker run --rm -p 8080:8080 -v <ローカルディレクトリ>:/etc/presto --name presto ghcr.io/trinodb/presto:350