差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
20210401 [2021/04/01 09:01] – 133.11.144.10 | 20210401 [Unknown date] (現在) – 削除 - 外部編集 (Unknown date) 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== 吉武先生のスクリプトのアウトプットファイルをパースしたHTMLファイルを生成するSingularityコンテナの作成 ====== | ||
- | |||
- | ==== 学生実験用Linuxを起動 ==== | ||
- | * HyperV Managerで学生実験用Linux(Ubuntu20.04)を起動 | ||
- | * '' | ||
- | * このサイト[[https:// | ||
- | |||
- | ==== Dockerコンテナの作成 ==== | ||
- | * centos7 のimageをPull '' | ||
- | * CentOS7コンテナにインタラクティブモードで接続。(HTMLファイルをパースするスクリプトがあるディレクトリをマウント) '' | ||
- | |||
- | * コンテナ内でこのサイト [[https:// | ||
- | * コンテナ内でスクリプトファイルを ''/ | ||
- | * コンテナをExit | ||
- | * 先程のコンテナからイメージを作成 '' | ||
- | * 作成したイメージでコンテナを起動。無事にHTMLファイルがカレントディレクトリに作成されることを確認 '' | ||
- | |||
- | |||
- | ==== Singularityのインストール ==== | ||
- | * 必要なパッケージをインストール | ||
- | '' | ||
- | build-essential \ | ||
- | libssl-dev \ | ||
- | uuid-dev \ | ||
- | libgpgme11-dev \ | ||
- | squashfs-tools \ | ||
- | libseccomp-dev \ | ||
- | wget \ | ||
- | pkg-config \ | ||
- | git \ | ||
- | cryptsetup'' | ||
- | * Goをインストールする | ||
- | '' | ||
- | * Goへのpathを設定する | ||
- | '' | ||
- | * Singularityをダウンロード | ||
- | '' | ||
- | * Singularity ソースコードをコンパイル | ||
- | '' | ||
- | * 起動を確認 | ||
- | |||
- | '' | ||
- | |||
- | ==== Singularityイメージの作成 ==== | ||
- | * DockerイメージからSingularityイメージへの変換[[https:// | ||
- | |||
- | sudo singularity build srr\_parse\_ver2.sif docker-daemon:// | ||
- | |||
- | * Singularityコンテナを起動(学生実験用linuxで起動を確認)[[https:// | ||
- | |||
- | singularity exec --bind $PWD: | ||
- | |||
- | * m50v251n3サーバでコンテナ実行(アウトプットのHTMLファイルの生成を確認) | ||
- | |||
- | singularity exec --bind $PWD: | ||
- | |||
- | |||
- | ==== ファイル名を日付とメールアドレスのHASH値に変更 ==== | ||
- | |||
- | var hash = crypto.createHash(" | ||
- | var newfilename = " | ||
- | fs.rename(" | ||
- | if (err) throw err; | ||
- | }); | ||
- | |||
- | ==== サーバ側でSingularityコンテナを実行し、HTMLファイルをパースするスクリプトを実行 ==== | ||
- | execSync(" | ||