Step 3: Build Your Base Image and Publish

Before you begin, verify that you have your Docker container registry information from the previous step.

In this step, you will build your base image with the drivers you need, then publish the image to your Docker container registry.

Each pool can have its own unique base image and set of drivers.

The following procedure shows an example on a RHEL distribution. You may need to install package manager tools or other tools specific to your distribution.

  1. Log in to any node in your Kubernetes cluster. Install Docker and supporting tools as required:

    sudo dnf install -y container-tools
    sudo dnf install -y git podman-docker
  2. Create the Dockerfile:

    touch Dockerfile
  3. Update the Dockerfile to include the drivers to support your connections. The commands specified in this Dockerfile will run during build time for your base image. For example:

    # example base 
    FROM registry.access.redhat.com/ubi8
    RUN yum -y update
    WORKDIR /
    # Go to https://tableau.com/support/drivers
    # Follow the instructions to install your drivers for linux
    CMD [“/bin/bash”]

    The target directory for driver files will vary. See Tableau Driver Download(Link opens in a new window) for more details.

    Example Dockerfile lines for public JDBC driver, using curl command to download the driver:

    RUN mkdir -p /opt/tableau/tableau_driver/jdbc
    RUN curl --location --output /opt/tableau/tableau_driver/jdbc/<file> <URL>
    

    Example Dockerfile lines for non-public JDBC driver, using copy:

    RUN mkdir -p /opt/tableau/tableau_driver/jdbc
    COPY  <file> /opt/tableau/tableau_driver/jdbc
  4. While you are still logged into your Kubernetes cluster node, set the variable POOL_ID with the value of your bridge pool id. To display the pool id value, open the Data Connect tab and click the bridge pool name.

    • Set the registry value that you copied to the respective values.

      REGISTRY_HOSTNAME=registry_host_name_you_copied
      REGISTRY_USERNAME=registry_user_name_you_copied
      REGISTRY_PASSWORD=registry_password_you_copied
    • Set the pool ID value:

      POOL_ID=<pool_id_value>
      
  5. Build the container, which is used as your base image.

    docker build -f <path_to_dockerfile> -t $REGISTRY_HOSTNAME/bridge-base:$POOL_ID .
  6. Login and push the image to the local container registry.

    docker login --username $REGISTRY_USERNAME $REGISTRY_HOSTNAME
    docker push $REGISTRY_HOSTNAME/bridge-base:$POOL_ID
  7. Under the pool you are configuring, click the actions button (...) and click Refresh Base Image. This action will initiate a deployment using the base image and may take up to minutes.

    Note: Whenever a new base image is created and refreshed, a new deployment will be created. The bridge agent used for the prior base image will persist as an unassigned asset. Do not delete unassigned bridge agents.

Data Connect setup workflow

Step 1: Contact Tableau

Step 2: Set Up Your Cluster

Step 3: Build Your Base Image and Publish

Step 4: Map a Domain to a Pool

Step 5: Create a Data Source for a Live Connection

Thanks for your feedback!Your feedback has been successfully submitted. Thank you!