0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Singularityを使ってみた

Last updated at Posted at 2022-07-08

1. Singularity?

コンテナ技術の一種だそうで、Dockerと比較してroot権限が不要な点に特徴があるようです。
とりあえず使ってみた点を雑にメモしておきます。(個人用です)

2. インストール

環境は下記。

$ cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

パッケージ類をインストール。

$ sudo yum groupinstall -y 'Development Tools'
$ sudo yum install -y \
    libseccomp-devel \
    glib2-devel \
    squashfs-tools \
    cryptsetup \
    runc

Goをインストール。

$ export VERSION=1.18.2 OS=linux ARCH=amd64
# /tmpにダウンロード
$ wget -O /tmp/go${VERSION}.${OS}-${ARCH}.tar.gz https://dl.google.com/go/go${VERSION}.${OS}-${ARCH}.tar.gz
# /usr/localに解凍
$ sudo tar -C /usr/local -xzf /tmp/go${VERSION}.${OS}-${ARCH}.tar.gz
# 環境変数に追加
$ echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
$ source ~/.bashrc

Singularityのインストール。

# リポジトリをclone
$ git clone --recurse-submodules https://github.com/sylabs/singularity.git
$ cd singularity
# コンパイル
$ ./mconfig
$ make -C builddir
$ sudo make -C builddir install
# バージョン確認
$ singularity --version
WARN[0000] Failed to decode the keys ["storage.options.override_kernel_check"] from "/etc/containers/storage.conf". 
singularity-ce version 3.10.0+65-gbf1afa7

WARNINGは不明だがインストールはされている模様。

3. コンテナのビルド

Singularity Hub/Docker Hubからコンテナを指定してビルドすることもできるそうだが、カスタマイズしやすそうなSingularity定義ファイルからのビルドを試してみる。Singularity定義ファイル(*.def)はDockerでいうDockerfileのようなものらしい。Bootstrapにdockerと指定するとdockerイメージを使用できるとのこと。

singularity_centos7.def
Bootstrap: docker
From:centos:centos7

%post
    yum update -y

以下のようにビルド。(ビルド時にはroot権限が必要なようだがfakerootというオプションもあるようだ)

$ sudo -s
# singularity build singularity_centos7.sif singularity_centos7.def

4. コンテナに入ってみる

$ singularity shell singularity_centos7.sif

ホームディレクトリがマウントされるのか...

dockerとの違いは以下も参考になりそう。
https://tmyoda.hatenablog.com/entry/20200817/1597663325

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?