Tableau is used to analyze and visualize organizations’ datasets for business-oriented decisions. It consists of templates for making interactive graphs, charts, dashboards, reports, and visualizations. The Tableau tool consists of five products: Tableau Public, Tableau Desktop, Tableau Server, Tableau Online, and Tableau Reader. However, you can leverage Tableau Docker in Server Container Image using the Container Image Setup Tool. The Tableau Docker in Server Container Image Setup Tool helps users add customization to the Docker Container Image by adding custom packages and installing custom data connectors.

In this tutorial, you will learn how to create a Tableau Docker in Server Docker Container.

Prerequisites

Basics of Business Intelligence tools

What is Tableau?

Tableau is a popular visualization tool used for Data Analysis and Business Intelligence. It provides a simple drag and drop actions through which users can visualize their data efficiently. In addition, Tableau consists of templates and widgets that allow users of any expertise to create Dashboards and Reports effectively. Today, several decision-makers use Tableau to explore data and gain insights into a colossal amount of data with the help of intuitive features of the business intelligence tool.

Tableau product consists of:

1) Tableau Public

The workbooks created on this platform cannot be private or saved locally. You have to save the workbooks publically on the cloud. The workbook in Tableau Public version is viewed and accessed by anyone. As a result, Tableau Public does not preserve the privacy of the files. But, it is helpful for users who want to keep their data public.

2) Tableau Desktop

Tableau Desktop consists of various features that help users create and customize reports. Users can share their reports and workbooks created in Tableau Desktop locally or publicly. It also provides connectivity to Data Warehouses for live Data Analysis. 

Tableau Desktop is classified as:

A) Tableau Desktop Personal

The personal version of Tableau Desktop keeps the workbook private with limited access. The workbooks created in Tableau Desktop Personal cannot be published online.

B) Tableau Desktop Professional

The workbooks created in Desktop Professional can be published online or on Tableau Server. With Tableau Desktop Professional, users can access all kinds of data types.

3) Tableau Server

With Tableau Server, you can share your visualizations or workbooks across the organization. You need to publish your work in Tableau Desktop to share your dashboards in Tableau Server. When you upload your visualization to Tableau Server, it will be accessible to licensed users. Tableau Server is highly secured and provides effective sharing of data in organizations.

4) Tableau Online

Tableau Online is an online sharing tool of Tableau, which enables users to visualize data online. With Tableau Online, you can connect to 40 different data sources like MySQL, Amazon Aurora, Spark SQL, and more. For publishing Tableau Online and Tableau Server, you require the workbooks or visualizations created in Tableau Desktop.

5) Tableau Reader

It is a free tool that enables users to view the data visualizations or workbooks created in Tableau Desktop or Tableau Public. The editing and modifications are restricted in the Tableau Reader. You can only view the workbooks. If you want to share your workbook in Tableau Reader with your friend or team, then they must also have the Tableau Reader to view your workbook.

Key Features of Tableau

  • Tableau Dashboard: With Tableau Dashboards, you can get a good view of your data by using visual Objects, Texts, Visualizations, and more. Dashboards can create stories from your data using a variety of layouts and formats. Tableau also enables users to easily share their dashboards from one workbook to another.
  • Sharing and Collaboration: Tableau enables users to collaborate with other Users and share data in Visualizations, Sheets, Dashboards, and more in real-time. With Tableau, they can also share data from various data sources like On-premise, on the Cloud, hybrid, and more. 
  • High Security: Tableau provides a high-security system based on authentication and permission methods for data connections and user access. You can integrate Tableau with security protocols like Active Directory, Kerberos, and more. Security protocols use cryptographic mechanisms to ensure communication between two or more parties.
  • Mobile view: You can create Reports and Dashboards in Tableau, compatible with mobile devices. Users can create customized mobile layouts for their reports and dashboards specific to their mobile devices. They can also add new phone layouts, interactive offline previews, and more.
  • Data Sources: With Tableau, users can fetch data from different sources like on-premise files, spreadsheets, relational databases, data warehouses, non-relational databases, and more. They can create a secure connection with any data source and use that data to perform visualizations. Tableau can also pull data from different connectors like Google Sheets, Cloudera, Hadoop, Presto, MemSQL, Google Analytics, SQL Server, and more.
  • Ask Data: The Ask Data feature of Tableau allows users to get a complete view of their data just by asking questions in natural language. For example, if you want to know the profit of every month, you have to search “profit by month.” It will show you the visualization of every month’s profit.

Creating a Persistent Tableau Docker in Server Docker Container

Creating a Tableau Docker  in Server in Container

Tableau Docker in Server Container Image is a Docker Image that runs an entire self-contained Tableau Server application. To understand the Tableau Server in a Container, imagine a Virtual Machine (VM) with Tableau Server pre-installed in it. The Container Image is based on a CentOS 7.x that runs supervisord inside the Container. Supervisord is a process management system inside a Container. It is a client-server system that controls the number of processes on a Unix-like operating system. When the Container starts supervisord, the Tableau Server will immediately attempt to initialize and start.

Prerequisites to use Tableau Docker in Server Container

1) Build the Docker Image

Building the Tableau Docker in Server Docker Container is only supported on operating systems like RHEL (based Linux systems), CentOS, or Amazon Linux 2. However, building Tableau Server in other Linux operating systems may be possible, but currently, it is not tested. Even macOS does not support the building of Tableau Docker in Server Docker Image.

Users need to use the Docker version of 17 or later as the earlier version of Docker does not include features required for Tableau Docker in Server Image.

2) Run the Docker Image

Tableau Docker in Server Container is only supported on Linux for production uses. Any system which can run Linux-based Docker images should be able to run Tableau Docker in Server Container for testing work. 

Tableau Docker in Server Docker Container requires the same hardware that is needed to run Tableau Server itself. You can check the hardware requirements in Minimum Hardware Requirements and Recommendations for Tableau Server.

To install Tableau Docker in Server inside Docker Container, you need to download Tableau Server in a Container Setup Tool and a version control compatible Tableau Server RPM installer with a .rpm file. 

Follow the below steps to create a Tableau Docker in Server inside Docker Container.

  1. Download the Server installer file, tableau-server-<version>.rpm version 2021.2.0 or later.
  2. Download the Server in a Container Setup tool,
tableau-server-container-setup-tool-<version>.tar.gz.

You can download both the above files from the Tableau Server Page.

  1. The downloaded file will be in tar format. You have to unpack the tar archive using the below command.
tar -xzf tableau-server-container-setup-tool-<VERSION>.tar.gz
  1. Users need to edit the registration file to provide the unique identification information needed to register Tableau Server in accordance with the End User License Agreement. The reg-info.json is the registration file located in the top directory of the Tableau Server in a Container Setup Tool. It is used to register the Tableau Docker in Server instance in the Docker Image. 
  1. To use the Tableau Server, you need to accept the EULA, End User License Agreement. As per EULA, you have to submit a uniquely identifiable user registration for using Tableau Server. 

The registration file reg-info.json consists of :

{
"zip" : "<value>",
"country" : "<value>",
"city" : "<value>",
"last_name" : "<value>",
"industry" : "<value>",
"eula" : "accept",
"title" : "<value>",
"phone" : "<value>",
"company" : "<value>",
"state" : "<value>",
"department" : "<value>",
"first_name" : "<value>",
"email" : "<value>"
}
  1. Build the Tableau Server in the Container Setup Tool using the below command.
build-image --accepteula -i <Tableau Server Installer>.rpm
  1. To run the Tableau Server in the Container Image, execute the Docker run command with the below information.
  • License key or license file.
  • Username and Password for signing in to Tableau Server.
  • The static hostname for the machine.
  • Name of the Tableau Server in the Container Image.
  1. Use the below command to initialize the Tableau Server.
docker run 
-e LICENSE_KEY=<key> 
-e TABLEAU_USERNAME=<username> 
-e TABLEAU_PASSWORD=<password> 
--hostname=<static (internal) name of host machine> 
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>
  1. When the Tableau Server is initialized, you can check the running Tableau Server by opening the web browser and visiting http://<hostname>:8080

Conclusion

In this tutorial, you have learned to create a Tableau Docker in Server in Docker Image Container using the Container Setup Tool. You can integrate Tableau with the platforms like AWS, Azure, Google Cloud, Snowflake, and more. Tableau also enables users to use connectors like PostgreSQL, Amazon Athena, Salesforce, BigQuery, SQL Server, and more for accessing data. In case you want to export data from a source of your choice such as Tableau into your desired Database/destination then Hevo Data is the right choice for you! 

Share your experience of learning about the Tableau Docker! Let us know in the comments section below!

Manjiri Gaikwad
Technical Content Writer, Hevo Data

Manjiri is a proficient technical writer and a data science enthusiast. She holds an M.Tech degree and leverages the knowledge acquired through that to write insightful content on AI, ML, and data engineering concepts. She enjoys breaking down the complex topics of data integration and other challenges in data engineering to help data professionals solve their everyday problems.

No-code Data Pipeline For Tableau