Singularity入門の持続化Overlay
2063 ワード
紹介する
Singularityでコンテナを実行し、コンテナが終了すると、コンテナに対する変更が失われますが、コンテナに対する変更はどのように保存されますか?このときSingularityのOverlayで実現できる.
SingularityのOverlayは、ベースミラーに対する変更が保存されているディレクトリまたはファイルシステムミラーです.--overlayオプションを使用して使用できます.次のコンテナコマンドに適用されます. run exec shell instance.start
使用
まず、centosなどのベースミラーを取得し、取得するとcentos.sifファイルがダウンロードされます.
Overlayディレクトリとしてディレクトリを作成します.
次に、--overlayオプションを使用してコンテナを実行します.セキュリティ上の理由から、--overlayを使用するにはroot権限が必要です.sudoを使用して実行できます.
次にコンテナを終了し、次のコマンドを使用してコンテナを再実行すると、さっきインストールしたツールがコンテナに入っていることがわかります.
次のコマンドを使用してコンテナを実行すると、上に作成したOverlayは使用されません.
最後に、Overlayを使用した永続化コンテナでは、Overlayディレクトリに基づいてミラーを作成することはできません.たとえば、次のコマンドを使用してミラーを作成する場合
ミラーを作成すると、このミラーを使用してコンテナを作成し、エラーの実行を求めるメッセージが表示されます.
Singularityでコンテナを実行し、コンテナが終了すると、コンテナに対する変更が失われますが、コンテナに対する変更はどのように保存されますか?このときSingularityのOverlayで実現できる.
SingularityのOverlayは、ベースミラーに対する変更が保存されているディレクトリまたはファイルシステムミラーです.--overlayオプションを使用して使用できます.次のコンテナコマンドに適用されます.
使用
まず、centosなどのベースミラーを取得し、取得するとcentos.sifファイルがダウンロードされます.
$ singularity pull centos
Overlayディレクトリとしてディレクトリを作成します.
$ mkdir my_overlay
次に、--overlayオプションを使用してコンテナを実行します.セキュリティ上の理由から、--overlayを使用するにはroot権限が必要です.sudoを使用して実行できます.
$ sudo singularity shell --overlay my_overlay centos.sif
# zip , 。
Singularity centos.sif:/home/data/singularity-study> zip
bash: zip: command not found
# zip
Singularity centos.sif:/home/data/singularity-study> yum install -y zip
...
# zip
Singularity centos.sif:/home/data/singularity-study> whereis zip
zip: /usr/bin/zip
次にコンテナを終了し、次のコマンドを使用してコンテナを再実行すると、さっきインストールしたツールがコンテナに入っていることがわかります.
$ sudo singularity shell --overlay my_overlay centos.sif
# zip
Singularity centos.sif:/home/data/singularity-study> whereis zip
zip: /usr/bin/zip
次のコマンドを使用してコンテナを実行すると、上に作成したOverlayは使用されません.
$ sudo singularity shell centos.sif
# zip
Singularity centos.sif:/home/data/singularity-study> zip
bash: zip: command not found
最後に、Overlayを使用した永続化コンテナでは、Overlayディレクトリに基づいてミラーを作成することはできません.たとえば、次のコマンドを使用してミラーを作成する場合
$ sudo singularity build my_overlay.sif my_overlay
INFO: Starting build...
INFO: Creating SIF file...
INFO: Build complete: my_overlay.sif
ミラーを作成すると、このミラーを使用してコンテナを作成し、エラーの実行を求めるメッセージが表示されます.
$ singularity shell my_overlay.sif
WARNING: passwd file doesn't exist in container, not updating
WARNING: group file doesn't exist in container, not updating
FATAL: exec /.singularity.d/actions/shell failed: no such file or directory