コンテナ型仮想化 =================== | ホストOS上にコンテナという仮想環境を構築して、その中で | アプリケーションを実行します。 Docker ^^^^^^^^^^^^^^^^^^ | コンテナ型仮想化を実装したオープンソースソフトウェアです。 | Dockerについては https://www.docker.com/ を参考にしてください。 Singularity ^^^^^^^^^^^^^^^^^^^^^^^^^^ | SingularityもDockerと同じようなコンテナプラットフォームです。 | HPC環境用に作られています。 | SHIROKANEでのSingularityについては https://supcom.hgc.jp/internal/mediawiki/Singularity を参考にしてください。 | Singularityについては https://sylabs.io/guides/3.0/user-guide/quick_start.html を参考にしてください。 イメージファイルの作り方 ^^^^^^^^^^^^^^^^^^^^^^^^^ 1. Docker Desktop on Mac with intel chip ----------------------------------------- | Dockerをインストールします。 | 2. Singularity ----------------------------------------- | Docker上でDockerfileからSingularityを構築します。 | | Singularity構築のためのDockerfileは | /home/kks_th/CaGMeJ_git/SRC/v8/singularity/Dockerfile | にあります。 3. docker build ----------------------------------------- | docker build コマンドでDockerfileからイメージをビルドします。 .. code-block:: bash (base) username@MacBook-Pro ~ %docker build -t IMAGE_NAME . | /home/kks_th/CaGMeJ_git/SRC/v8/singularity直下の | sequenza, msisensor, genomon, genomon_r, itd, multiqc, ngscheckmate, facets, cnvkit, mimcall, chord, gatk, deseq2, hyperclust, cgpPindelのディレクトリに | Dockerfileがあります。 4. docker save ----------------------------------------- | docker save コマンドでIMAGE IDからtarファイルを作成します。 .. code-block:: bash (base) username@MacBook-Pro ~ %docker save -o IMAGE_NAME.tar IMAGE_ID 5. singularity build ----------------------------------------- | 2で用意したsingularity環境を起動してsifファイルを作成します。 .. code-block:: bash (base) username@MacBook-Pro ~ %docker run --privileged --rm -it -v output_dir:output_dir singularity_IMAGE_NAME root@9c718274fdb: cd output_dir root@9c718274fdb: singularity build IMAGE_NAME.sif docker-archive://IMAGE_NAME.tar .. note:: **SINGULARITY_BINDPATH** | export SINGULARITY_BINDPATH=/cshare1,/rshare1,/home,/share | のように固定で設定しているので | メンテナンスなどでファイルシステムが変更されていないかチェックしてください。 | `https://supcom.hgc.jp/internal/mediawiki/rshare_へのデータ移行 `_ M1 Macでのビルド ^^^^^^^^^^^^^^^^^^^^^^^^^ | 上記の方法ではM1 Macを使った場合、SHIROKANE 用のイメージファイルを作成できない場合があります。 | Docker Hub 経由でイメージファイルを作成する方法を記載します。 1. ログイン ----------------------------------------- | Docker Hubのアカウントを作成して、Docker Desktop for Mac with Apple silicon にサインインします。 2. docker build ------------------------ | Dockerfileを作成するとき以下のようにplatformについて記載します。 .. code-block:: bash FROM --platform=linux/x86_64 {イメージ名} | docker build します。 .. code-block:: bash (base) username@MacBook-Pro ~ %docker build -t IMAGE_NAME . 3. docker tag ----------------- | Docker Hubで公開レポジトリを作成します。 | 公開レポジトリと同じ名前をDockerイメージにつけます .. code-block:: bash (base) username@MacBook-Pro ~ %docker tag {イメージID} {ユーザー名}/{レポジトリ名}:{タグ名} 4. docker push ---------------- | DockerイメージをDocker Hub にpushします。 .. code-block:: bash (base) username@MacBook-Pro ~ %docker push {ユーザー名}/{レポジトリ名}:{タグ名} 5. singularity pull -------------------- | SHIROKANE 上でpullします。 .. code-block:: bash [username@gc016 ~]$singularity pull docker://{ユーザー名}/{レポジトリ名}:{タグ名}