LabVIEW in Docker on Linux

LabVIEW in Docker on Linux is here now. NI made an announcement at NI Connect, but you don't have to wait for 25Q3!

The LabVIEW Getting Started Screen for LabVIEW 2025Q1. Prominent buttons for Create Project and Open Existing.


At NI Connect, NI made the announcement that they are working getting LV to run in a Linux Docker Container for CI/CD workflows. At some point in the near future, you'll be able to simply do docker pull labview:2025q3 and get an image that you can spin up for CI/CD jobs. That is awesome!

3 different use cases

There are actually (at least) 3 different use cases for LV and Docker:

  1. CI/CD - This means running headlessly as part of your CI/CD pipeline, typically running VI Analyzer, Unit Tests, Building, maybe generating some documentation, and similar things.
  2. Development - Imagine if setting up a new development environment was as simple as running a single docker command, grabbing a cup of coffee and coming to back to a fully functioning environment with the correct version of everything you need already installed.
  3. Deployment - Docker can simplify your deployment a lot. This obviously only works in certain situations. Hardware can make this difficult depending on how it is connected. With ethernet connected and gRPC instruments as well as good old serial instruments, this gets much easier.

Don't Wait for NI

You don't need to wait for NI to start playing around with LabVIEW on Docker and Linux. All you need is a Linux box!

Build Your Own Container

There is a lot that goes into building your own container and I've simplified it for you. I've put into a public GitLab Repository. https://gitlab.com/sas-blog/lv-docker

Follow the instructions in the Readme and it will get you up and running using LabVIEW in a Docker Container on Linux. It set up to be interactive, so its more for development and not CI/CD, but its enough to get started.

CI/CD Thoughts

If you want to use this for CI/CD, you'll need to use LabVIEW-CLI or install the LV component of G-CLI using VIPM (maybe I'll add that to the repo someday). The rust component is already installed. You will need to make sure nisvcloc is running before running g-cli. It isn't running by default, but is installed with LabVIEW so fixing that is easy: nisvcloc& Also remember Linux is case sensitive so g-cli Echo --"Hello World" is what you need when you go to test it out. Also note for CI/CD that the VIPM is not yet supported on Linux but that JKI is aware and it is somewhere in their list of priorities.

Also check out the xvfb command. You'll need that if you aren't doing the X forwarding. If you wrap your commands with that then it should all work. There are some more things to work out to get this fully working for CI/CD, but this is definitely a good starting point.

Thanks to NI R&D and Sergio

Sergio hooked me up with NI R&D and they sent me a Docker script that they were working from and that sparked me to make a bunch of edits and come up with what I have now. It turns out I really just needed some inspiration and a starting point.

Does This Work For You?

If this topic is of interest to you, I would appreciate you checking out my repository following the instructions, and seeing if they work for you. Please comment here and/or open issues on the repository (if you find any bugs).

Next Steps

Look for more posts here or updates to the repo as I learn more and refine things.

If you want help setting up your CI/CD pipeline or streamlining your development system setup, let's talk.