Your home directory and scratch directories, in
localscratch, will be accessible from the container when run on Argon. Note that using the host home directory could present issues as the dot files in your home directory may not be suitable for the container environment. One way around this is to use an alternate home directory in the container with the
-H flag. That will limit the scope of your home directory in the container so plan accordingly.
If reproducible builds is one of your goals for using a container then note that use of a GPU Note that if you are running a GPU job in a container will violate that. The reason is that ultimately the container needs to talk to the kernel module that talks to the GPU. Thus, there is no control of the kernel module used outside of the container from within the containerthat the code will need to interface with the GPU (Nvidia) kernel module on the host system. If you run that container on different host systems then it is possible that the kernel module versions will be different. Even in the case where the kernel module is the same version across host systems it may have been built against a different OS kernel. This is something to keep in mind, particularly if the goal of using a container is to get a reproducible environment, as the host Nvidia kernel module would be a variable in the environment.
The following is an example of a Ubuntu container definition. Note that this is an example, as the header section can change, and represents the minimum of what is needed to create the container OS.