Docker Image of Texera - Texera/texera GitHub Wiki

Docker

Docker is an open source platform for creating and shipping easy and extensible software containers as VM images. It is becoming immensely popular and seemed like a natural choice for shipping a complex piece of software like Texera. This will enable us to quickly develop, ship and reach users easily using the Docker environment. You can find more information about Docker on their website found here

Installing Docker

In order to install Docker, you can follow the instructions found for each respective OS as mentioned below:

  1. Mac - Instructions here
  2. Windows - Instructions here
  3. Ubuntu - Instructions here

Downloading and Running the Texera Docker Container

In order to download and run the Texera Docker container, follow these steps.

  1. Launch Docker in the manner specified for your platform:
  • Mac - Launch the Docker application after downloading it from the previous section (it should be an application like all other applications).
  • Windows - Launch the Docker application after downloading it from the previous section (it should be an application like all other applications).
  • Ubuntu - Follow Step 2 on this link
  1. List the images present on your computer by executing the command docker images on your command line. If Texera is listed on the list as texera/texera skip the next step.
  2. If it is not present in the list when executing the above command, then execute the command docker pull texera/texera. This should take some time but you will see a progress indicator throughout.
  3. Once the image has been pulled, run the Docker container for Texera by executing the command docker run -p 8080:8080 texera/texera. Once this is done you will have a Texera instance running locally.

Pushing Updated Images

In order to update the Texera Docker container as we make code changes, we will utilize the Maven Docker Plugin provided by Spotify which can be found here. This is only necessary when we publish major versions, and needn't be done every single time a change has been made to master. In order to publish this change, only authorized members of the team who have been added to the DockerHub organization can do so. For any such user, who wishes to publish changes execute the following commands.

  1. Login to Docker on your command line by executing docker login. You will be prompted for your login credentials.
  2. Build the entire of Texera by performing the command mvn clean install.
  3. Change directory to texdb-web by executing cd texera-web.
  4. Perform a Docker build by executing the command mvn clean package docker:build.
  5. Once the above command has been executed successfully, the container is then ready to be pushed to DockerHub using the command, docker push texera/texera

NOTE - The last section only applies to developers who have push permission on the Docker Texera organization.