SingularityのWSL2への構築

本記事はQiitaに投稿した記事になります。

SingularityコンテナをWSL2上に構築しました。構築環境はSingularityの公式サイトの記述に基づき、Ubuntu 22.04上とします。 参考となるドキュメントは https://docs.sylabs.io/guides/latest/admin-guide/installation.html#installation-on-windows-or-mac に存在します。このドキュメントに従えば、Singularity 4.0.0がインストールされます。

手順としては以下の通りになります。

wget https://github.com/sylabs/singularity/releases/download/v4.0.0/singularity-ce_4.0.0-jammy_amd64.deb
sudo apt install ./singularity-ce_4.0.0-jammy_amd64.deb

まず、Singularity 4.0.0のUbuntu 22.04用のdebファイルを取得します。しかる後に、debファイルをaptコマンドでインストールします。当方で実行したときにはいくつか気になるメッセージが出力されていましたがインストール自体は行われているようです。以下のメッセージの表示理由等は未解明です。

N: Download is performed unsandboxed as root as file ‘/home/gorn/singularity-ce_4.0.0-jammy_amd64.deb’ couldn’t be accessed by user ‘_apt’. – pkgAcquire::Run (13: Permission denied)

さて、Singularityがインストールできたので確認してみます。

以下のファイルをex001.defとして作成します。

Bootstrap: docker
From: ubuntu:22.04

%post
    apt-get -y update
    apt-get -y upgrade

%runscript
    echo "Hello, Ubuntu"

以下のコマンドでビルドします。

singularity build ubuntu.sif ex001.def

Ubuntu 22.04のイメージとなります。

Shellでコンテナの中に入ってみます。

singularity shell ubuntu.sif
とりあえず、動きは確認できました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です