Singularity container を使う

MA-S1xx v5.4.0α1(for Singularity) より、Singularity container を組み込みました。
1ファイル で構成される可搬性の高いコンテナ環境を使用することができます。


user1@gemini:~$ cat /etc/version 
MA-S1xx[Singularity] firmware version 5.4.0alpha1 (Mon Dec 13 16:00:37 JST 2021)
user1@gemini:~$ singularity version
3.9.2
user1@gemini:~$ ls -l /var/lib/containers/alpine32.sif 
-rwxr-xr-x 1 user1 user1 2420736 Dec 13 10:59 /var/lib/containers/alpine32.sif <----- Alpine Linux のコンテナファイル、1ファイルのみコピーすればOK
user1@gemini:~$ singularity exec /var/lib/containers/alpine32.sif  cat /etc/alpine-release
3.14.3
user1@gemini:~$ singularity shell /var/lib/containers/alpine32.sif 
Singularity> ls /etc
alpine-release  group           issue           modules-load.d  os-release      protocols       shells
apk             hostname        localtime       motd            passwd          resolv.conf     ssl
conf.d          hosts           logrotate.d     mtab            periodic        securetty       sysctl.conf
crontabs        init.d          modprobe.d      network         profile         services        sysctl.d
fstab           inittab         modules         opt             profile.d       shadow          udhcpd.conf
Singularity> cat /etc/alpine-release 
3.14.3
Singularity> 


LXC, Docker などと異なり、ネットワークやデバイスなどが隔離されておらずそのままアクセスすることが可能です。

Singularity> ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:80:6D:A3:00:4A  
          inet addr:172.16.1.18  Bcast:172.16.1.255  Mask:255.255.255.0
          inet6 addr: fe80::280:6dff:fea3:4a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2391 errors:0 dropped:1594 overruns:0 frame:0
          TX packets:498 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:140865 (137.5 KiB)  TX bytes:48851 (47.7 KiB)
          Interrupt:29 Base address:0x8000 

Singularity> ls /sys/class/leds/
DO0               MobileLED_G2      Mobile_SLEEP      WL_RESET          system-status1:r
DO1               MobileLED_R1      PowerLED          mmc0::            system-status2:g
MSP430_RST        MobileLED_R2      ULP_WAKEUP        mmc1::            system-status2:r
MSP430_TEST       Mobile_PWRKEY     WLAN_G            power-stat:r      system-status3:g
MobileLED_G1      Mobile_RESETN     WLAN_R            system-status1:g  system-status3:r
Singularity> ls -l /dev/ttyUSB*
crw-rw----    1 root     dialout   188,   0 Dec 13 16:03 /dev/ttyUSB0
crw-rw----    1 root     dialout   188,   1 Dec 13 16:03 /dev/ttyUSB1
crw-rw----    1 root     dialout   188,   2 Dec 13 16:03 /dev/ttyUSB2
crw-rw----    1 root     dialout   188,   3 Dec 13 16:31 /dev/ttyUSB3