tableau-server-docker: TableauServer doesn't start when container restart

Hi, I followed HOWTO: Tableau Server Linux in Docker Container to start a docker container. It works fine when first started. But if stop the container and restart again, tableauServer can’t start. I tried to docker exec into it and used tsm to start it, but it says Could not connect to TSM Controller at 'bb334aeab113:8850'.. I searched a lot from google and tableau community and find nothing helpful. If tableauserver can’t restart when container start, commit to a new image will be useless.
Is there anything I missed ?

About this issue

Most upvoted comments

@aaronsteers. My first time 2019.1.1. And then 2019.1.2 was published and I built an image with it. It’s still running.

I managed to get this working satisfactorily for me using 2020.4.0 and the original centos/systemd image. Here’s what I learned:

  • I added STOPSIGNAL RTMIN+3 to the Dockerfile. Apparently the default stop signal that Docker uses causes issues with systemd.
  • I executed chmod 0775 /run/FNP the first time after restarting the container. It appears the permissions get messed up when the systemd service gets setup.
  • I gave a static hostname to the container. I used the line hostname: tableau in my Docker Compose file. I found that if you recreate the container, the container ID changes, and by default the container ID is the hostname. Tableau Server seems to require a static hostname or the TSM just errors out.

You’ll probably need to restart Tableau Server using using tsm restart whenever you restart the container, but that wasn’t a big deal for me. I hope this helps anyone who is running into similar issues.

@vaibhavvasa236 - Thanks for sharing the docker image. I’m excited to try this out.

@wzrzt I am using Ubuntu docker image with Systemd (jrei/systemd-ubuntu) Check this one: https://hub.docker.com/r/jrei/systemd-ubuntu/dockerfile

I found that docker run command with /usr/sbin/init in the end will solve the problem. But still TSM controller does’t start at container restart. I have to systemctl restart user@999.service several minutes after container restart in order to start TSM controller. In fact it’s a service called tabadmincontroller_0.service under the user “tableau”. su -l tableau and then systemctl --user will show it’s status and other services about tableau server.
By the way, 2019.1.1 version doesn’t work for me. Got Failed to start Tableau Silent Install in Docker message and when exec in to the container, “tableau_server_install.service” status failed. When I log into “https://localhost:8850” to use TSM controller to install it, also fails, and try again, fails again.