Question about Docker pre-exercises for cms open data


I follow the instruction on “Using Docker with the CMS open data – Docker pre-exercises” to install the container using wsl2. And I am stuck at the first step for installing the container for cms_open_data_work. I can’t get expected output for " ```
Setting up CMSSW_7_6_7
CMSSW should now be available.
This is a standalone image for CMSSW_7_6_7 slc6_amd64_gcc493.

Did I miss some important steps? Other than that, the container for python tool and root is working.

The command i use is

docker run -it --name my_od -P -p 5901:5901 -p 6080:6080 -v ${HOME}/cms_open_data_work:/code cmsopendata/cmssw_7_6_7-slc6_amd64_gcc493 /bin/bash

it doesn’t have any output.

Hi! Thanks for your interest in the CMS open data. If you are running the docker run ... command in your WSL2 Linux Ubuntu shell, the instructions in the red box under the WSL2 Windows tab on page Using Docker with the CMS open data – Docker pre-exercises should help you forward:

If the docker command exits without giving you the output above, see this post in the CERN Open Data forum (note in particular that the .wslconfig file that you need to add must not have a file extension, if Windows adds it automatically, rename the file).

Best, Kati
for the CMS open data team

Hi Kati,
after following your instruction to add .wslconfig and shut down wsl with command prompt, nothing changed.

The “vsyscall=emulate” didn’t show up. And my original “docker run …” command still returns nothing.
And then I follow your to follow your second instruction to check ‘.wslconfig.txt’, but I couldn’t find the ‘.wsl’ directory. Could it be some other name?

I can’t find the .wsl directory.

And I try using both the docker commands for wsl and linux to install the work container. But neither of them returns any output.

There’s no .wsl directory, just the file .wslconfig.
You should create it in the /mnt/c/Users/<your-windows-user-name>/ directory. If it is not there, the new settings won’t be applied and the docker run command with this container won’t start.

If 80420 is your Windows user name, you can do the following in the Linux terminal to create the file:

echo [wsl2] > /mnt/c/Users/80420/.wslconfig
echo kernelCommandLine = vsyscall=emulate >> /mnt/c/Users/80420/.wslconfig

Appreciate your help. The issue is fixed.