Docker to wsl2
for general purpose use with the ATLAS software stack. This wsl2
distro uses cvmfs
.
Contains a Dockerfile
based on AlmaLinux 9 that installs all the necessary libraries for running the ATLAS software stack. This includes cvmfs
. This container is used to create a wsl2
distro.
Who is this for:
- Need a general container to run ATLAS software on Windows
- Access to a high-speed, stable, internet connection: this container uses
cvmfs
for all ATLAS software. Quite a bit can be downloaded (e.g. GB's worth). While it is cached by thecvmfs
software, who knows when the cache will expire and you'll need to re-download!
You will need to have wsl2
and docker
installed on your windows machine.
Everything is orchestrated via the script Install-ATLASwsl2.ps1
:
PS> .\Install-ATLASWsl2.ps1 -?
Install-ATLASWsl2.ps1 [-containerName] <string> [[-os] <string>] [<CommonParameters>]
An example:
PS C:\Users\gordo\Code\atlas\atlas-containers> .\Install-ATLASWsl2.ps1 atlas_centos7 centos7
[+] Building 257.1s (21/21) FINISHED docker:default
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 1.84kB 0.0s
=> [internal] load metadata for docker.io/library/centos:7 0.5s
=> [ 1/16] FROM docker.io/library/centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 211B 0.0s
=> CACHED [ 2/16] RUN yum -y install sudo passwd yum-utils krb5-workstation openssl man-db deltarpm xdg-utils libXft libSM patch cmake make g++ uu 0.0s
=> CACHED [ 3/16] RUN yum -y install epel-release python2-pip && yum clean all 0.0s
=> [ 4/16] RUN yum-config-manager --add-repo https://download.opensuse.org/repositories/home:/wslutilities/RHEL_7/home:wslutilities.repo && yum i 26.8s
=> [ 5/16] RUN yum install -y https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest.noarch.rpm && yum install -y cvmfs && yum clean 44.5s
=> [ 6/16] RUN cvmfs_config setup 0.6s
=> [ 7/16] COPY default.local /etc/cvmfs/default.local 0.0s
=> [ 8/16] RUN yum install -y https://linuxsoft.cern.ch/wlcg/centos7/x86_64/wlcg-repo-1.0.0-1.el7.noarch.rpm && yum clean all 3.1s
=> [ 9/16] RUN yum install -y --skip-broken HEP_OSlibs glibc-langpack && yum clean all 123.4s
=> [10/16] RUN mkdir /etc/atlas-cern 0.7s
=> [11/16] COPY startup-atlas-sudo.sh /etc/atlas-cern/startup-atlas-sudo.sh 0.0s
=> [12/16] COPY startup-atlas.sh /etc/profile.d 0.0s
=> [13/16] COPY config-user.sh /etc/atlas-cern/config-user.sh 0.0s
=> [14/16] COPY sudoers-atlas-setup /etc/sudoers.d/sudoers-atlas-setup 0.0s
=> [15/16] COPY wsl.conf /etc/wsl.conf 0.0s
=> [16/16] RUN yum update -y && yum clean all && yum update -y 53.0s
=> exporting to image 4.1s
=> => exporting layers 4.1s
=> => writing image sha256:94a23c9c47e153a08d9d8ca195672717dbaceab10a2b837e60983c5ef39b45f2 0.0s
=> => naming to docker.io/library/atlas_centos7:latest 0.0s
What's Next?
View a summary of image vulnerabilities and recommendations → docker scout quickview
atlas_centos7
atlas_centos7
Import in progress, this may take a few minutes.
The operation completed successfully.
Enter username: gwatts
You will be prompted to enter a password for gwatts.
Changing password for user gwatts.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Adding user gwatts to group wheel
The operation completed successfully.
PS C:\Users\gordo\Code\atlas\atlas-containers> C:\Users\gordo\OneDrive\Documents2\WindowsPowerShell\Scripts\atlas-scripts\Copy-LinuxFiles.ps1 atlas_centos7
Installing Globus certificates. You'll be prompted for the pass phrase for your p12 file
and then a pass phrase for the userkey.pem file.
Enter Import Password:
MAC verified OK
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
And again for the p12 file to generate the usercert.pem
Enter Import Password:
MAC verified OK
The following have been tested:
lsetup rucio
andvoms-proxy-init
andrucio ping
- centos7
- AL9
lsetup root xxx
androot
and thenTBrowser b
- using the default recommended version ofroot
when this was last checked!- centos7
- The X Windows just works with no further config (note you must start current version of
root
withroot --web=off
for this to work, otherwise it tries to use the new interface). - The web browser seems version starts ok, though
wslutils
gives a syntax error (bug report).
- The X Windows just works with no further config (note you must start current version of
- AL9
- Same caveats as above.
- The browser window was slow to open - it took 15 seconds on AL9. Much faster on CENTOS7.
- centos7
xclock
works (after installing withyum install xorg-x11-apps
(this is not normally installed with this configuration).- centos7
- First you must run
sudo yum install xclock
- First you must run
- AL9
- First you must run
sudo dnf --enablerepo=crb install -y xorg-x11-apps
- The web pages talking about this are incorrect. I cannot find
xclock
for AL9. However, given the X-Windows version ofroot
TBrowser
works, I think the x-windowing system, wslg, is working just fine.
- First you must run
- centos7
kinit
andssh lxplus.cern.ch
without password forssh
.- centos7
- AL9
- Build the DiVertAnalysisR21 image using the
gitlab
build script.- centos07
- Not clear this is possible on AL9 since this is R21.