New to Telerik Report Server? Download free 30-day trial

Report Server for .NET: Installation on Docker Container

The Report Server for .NET (RS.NET) is ready for deployment on Docker Containers. The assets for non-Windows platforms are available as separate resources downloadable from your Telerik account.

This article is a step-by-step tutorial on deploying Telerik Report Server for .NET on a Linux Docker Container with a Microsoft SQL Server (MsSqlServer) Storage deployed on its own Docker Container based on the image mcr.microsoft.com/mssql/server:2019-latest exposed publicly on port 1433.

Installation Process

  1. Download the archive Telerik_ReportServer_Net_NonWindows_{Report Server version}.zip from your Telerik account.
  2. Unzip the archive. The content gets deployed in two folders ReportServer and ReportServiceAgent.
  3. Open the Powershell and navigate to the subfolder ReportServer.
  4. Run the command docker build -t telerik-report-server:local . in Powershell to build the Report Server Manager image.
  5. Navigate to the subfolder ReportServiceAgent.
  6. Run the command docker build -t telerik-report-server-agent:local . in Powershell to build the Report Server ServiceAgent image.
  7. Navigate to the subfolder ReportServer\docker-configs.
  8. Open the file docker-compose.yml in a text editor like Notepad++ and edit its content. Delete everything between the lines services: and storage:. Before the line environments include the next lines:

    
      ports:
        - "1433:1433"
    

    The tabulation is essential and should be preserved. Here is the final content of the docker-compose.yml file:

    services:
    
    storage:
      image: "mcr.microsoft.com/mssql/server:2019-latest"
      restart: always
      ports:
        - "1433:1433"
      environment:
        - SA_PASSWORD=place_your_sa_password_here
        - ACCEPT_EULA=Y
      volumes: 
        - mssql-storage:/var/opt/mssql
    
    volumes:
    mssql-storage:
    

    Save the modified file.

  9. Run the command docker-compose up in Powershell to execute the above script to create and run the MsSqlServer Docker container we are going to use as Report Server Storage.

  10. Open MSSQL Management Studio and Login with the following parameters:

    • Server : localhost
    • User : sa
    • Password: place_your_sa_password_here (this is the argument SA_PASSWORD from the above script file. You may change it as required.)
  11. Add the database named reportserver. After successfully creating the database, you may close the management studio.

  12. Stop the current process in Powershell, for example, with the key combination Ctrl+C.
  13. Go back to the text editor with the opened file docker-compose.yml and restore its original content:

    services:
    
    # template configuration of Report Server.
    # Includes sample config for /app/Data File Storage.
    telerik-report-server:
      env_file:
        - mssql_storage.env
      image: telerik-report-server:local
      restart: always
      ports:
        - "82:80"
      depends_on: 
        - storage
    
    # template configuration of Report Server Agent.
    # Includes sample config for /app/Data File Storage.
    telerik-report-server-agent:
      environment:
        - Agent__Name=FirstAgent,
        - Agent__Address=http://telerik-report-server-agent:80
      env_file:
        - mssql_storage.env
      image: telerik-report-server-agent:local
      restart: always
      depends_on:
        - storage
    
    storage:
      image: "mcr.microsoft.com/mssql/server:2019-latest"
      restart: always
      environment:
        - SA_PASSWORD=place_your_sa_password_here
        - ACCEPT_EULA=Y
      volumes: 
        - mssql-storage:/var/opt/mssql
    
    volumes:
    mssql-storage:
    

    Save the file.

  14. Go back to the Powershell environment and execute the above yaml file with the same command docker-compose up. This should run the Report Server Manager and ReportServer.ServiceAgent for .NET.

  15. Navigate to localhost:82 in the browser to open the Report Server Manager for .NET.

The first time you open the Report Server you need to configure it as explained in the article Application Startup.

Additional Resources

You may download and watch the whole process from our reporting-samples GitHub repository: SetupRS.NET-Docker.zip.

Notes

The above approach for starting the RS.NET from the container will stop it each time you restart the machine. To avoid this, execute the following commands in Powershell from the folder .\ReportServer\docker-configs\ to start/stop the Report Server instead of using the commands docker-compose up and docker-compose down:

  1. (optional, use it only if it was not used before) Initialize a swarm to make the Docker Engine hosting the RS.NET a manager in the newly created single-node swarm:docker swarm init
  2. Start the RS.NET with .\start-docker-server.bat
  3. (optional) Stop the RS.NET with .\stop-docker-server.bat

See Also

In this article