7.2 容器使用¶
7.2.1 简述¶
Apptainer 是目前在高性能计算平台上被大量应用的轻量虚拟化容器技术,能够提供操作系统级的虚拟化。Hep_container 是基于 Apptainer 容器管理命令开发的适用于高能所计算集群的容器客户端工具,满足用户使用多种操作系统版本及环境的需求。
7.2.2 命令说明¶
Hep_container 的容器命令主要有三种操作:images、shell、exec。可以在命令行中通过 help 参数查看各个命令的使用说明和样例:
输出示例:
Usage : ./hep_container <command> [command options...]
CONTAINER USAGE COMMANDS:
shell Run a Bourne shell within container image
exec Execute a command within container image
images List Support container images
groups List Support groups
-g groupname With a specific group name
EXAMPLES:
./hep_container images
./hep_container groups
./hep_container shell SL5
./hep_container shell SL5 -g physics
./hep_container exec SL5 cat /etc/redhat-release
./hep_container exec SL5 python ./yourprograme.py
./hep_container exec SL5 -g physics cat /etc/redhat-release
查看支持镜像¶
命令格式:hep_container images,该指令可以查看当前提供的操作系统容器镜像。
输出示例:
Hep_container support images:
SL5 : Scientific Linux 5
SL6 : Scientific Linux 6
SL7 : Scientific Linux 7
查看支持用户组/实验组¶
命令格式:hep_container groups,该指令可以查看容器命令当前支持提供的用户组或者实验组。通过 -g 参数指定用户组或实验组,容器内会挂载对应用户目录和实验目录。不指定 -g 参数默认采用主组作为用户组或实验组。
输出示例:
Hep_container support groups:
u07|atlas|atlasrun|comet|offline|physics|higgs|ams|cms|dyw|hxmt|polars|juno|argo|lhaaso|
进入容器环境¶
命令格式:hep_container shell [container image],该指令可以在容器内启动一个 shell,因此可以在容器外部与容器内部进行交互操作。运行 exit 则可以退出该 shell。
下例为启动一个 SL5 操作系统镜像后,用户当前为 SL5 的系统环境:
交互过程示例:
Apptainer: Invoking an interactive shell within container...
Apptainer> cat /etc/redhat-release
Scientific Linux SL release 5.5 (Boron)
Apptainer> exit
exit
容器内执行命令¶
命令格式:hep_container exec [container image] [command],该指令可以在外部主机上将指定的命令运行在指定的容器内。
下例为在 lxlogin 上以 SL5 的环境运行命令,并得到结果:
输出示例:
组参数¶
不同实验组的用户进入到容器会挂载对应实验的数据盘。
如果不指定 -g 组参数,默认挂载所属主组实验的数据盘。-g 可以加一个组或多个组,多组以 : 隔开。
查看自己的组信息,第一个 gid 一般为主组:
输出示例:
指定组参数进入容器:
7.2.3 说明¶
由于 AFS 口令认证版本问题,在 lxlogin 上暂时无法实现登录同时获得 AFS 的 tokens。如果用户登录 lxlogin 后,出现类似以下报错:
请先运行 klog,再执行容器的各种命令。
常见问题(FAQ)¶
见常见问题。
有问题?输入后跳转到对话页继续交流