This variant avoids COPY bridge/drivers/trino-jdbc.jar ... so you won't hit build failures.
Instead, drivers are bind-mounted at runtime.
- Dockerfile (no COPY of driver)
- docker-compose.yml (mounts ./bridge/drivers -> /opt/tableau/tableau_driver/jdbc)
- bridge/MyTokenFile.txt (PAT JSON template)
- get_trino_driver.sh (helper to download a JDBC driver)
- logs/ (mapped for Bridge logs)
- Put your Tableau Bridge RPM next to the Dockerfile (e.g.
tableau-bridge-2025.2.0-1.x86_64.rpm). - Fetch a Trino JDBC driver (optional):
This saves
./get_trino_driver.sh 472
bridge/drivers/trino-jdbc-472.jar. - Create
.envfrom.env.exampleand fill values. - Set PAT:
chmod 600 bridge/MyTokenFile.txt
- Build and run:
docker compose build docker compose up -d
- Verify the driver is visible in the container:
docker compose exec tableau-bridge ls -l /opt/tableau/tableau_driver/jdbc
Note for SELinux: the compose file uses
:zon the drivers mount. If you still see permission issues, try:Zor temporarily setsetenforce 0to test.