Dockerによるインストール#
Ubuntu22.04用のDebianパッケージを利用してDockerイメージを作る例を示す。なお、本稿によるコンテナの環境は以下のドキュメントにあるインストールをおこなったものと同等である。
Docker自体のインストールや使い方などは省略する。
Dockerfileのサンプル#
FROM ubuntu:22.04
# Installation
RUN apt-get update -y && apt-get install -y locales \
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG en_US.utf8
# Installation of libraries required for Manyo and Utsusemi packages
RUN apt-get update -y && apt-get install -y \
wget \
x11-apps \
libgsl27 \
libnexus1 \
libhdf5-103 \
libssl3 \
libboost-system1.74.0 \
libboost-filesystem1.74.0 \
libboost-serialization1.74.0 \
libboost-program-options1.74.0 \
python3-matplotlib \
python3-scipy \
python3-pyside2.qtcore \
python3-pyside2.qtgui \
python3-pyside2.qtwidgets
# 1. Install Utsusemi Packages
RUN cd /tmp \
&& wget https://cdn.mlf.plus/ce/Utsusemi4/Downloads/installUtsusemi_FromDebianPackages.sh \
&& bash installUtsusemi_FromDebianPackages.sh \
&& rm -rf /var/lib/apt/lists/*
# 2. Set arguments on build
ARG USER_NAME=hoge
ARG DATA_DIR=/data
# 3. Set user account
RUN adduser ${USER_NAME}
RUN mkdir ${DATA_DIR}
WORKDIR /home/${USER_NAME}
# 4. Environment setting
RUN echo '\n# Utsusemi environment' >> /home/${USER_NAME}/.bashrc
RUN echo 'export PATH=${PATH}:/opt/mlfsoft/python-utsusemi/utsusemi/bin' >> /home/${USER_NAME}/.bashrc
build用サンプルスクリプト#
#!/bin/bash
USER_NAME=${USER}
docker build \
-t ubu22_utsusemi_amd64 \
--build-arg USER_NAME=${USER} \
./
コンテナ起動用サンプルスクリプト#
起動用のスクリプト例を示す。
このスクリプトを走らせるフォルダに data フォルダと work フォルダがあり、それぞれMLFのデータを入れるフォルダ、作業フォルダとして使用することを想定している。 data フォルダにはコンテナ内で空蝉環境でのデフォルトの場所(環境変数 UTSUSEMI_DATA_DIR で指定)である /data にマウントされる。
#!/bin/bash
PWD=$(cd $(dirname %0); pwd)
USER_NAME=${USER}
xhost local:
docker run -it --rm --net=bridge \
-e DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v ${HOME}/data:/data \
-v ${PWD}/work:/home/${USER_NAME}/work \
-u ${USER_NAME} \
ubu22_utsusemi_amd64 /bin/bash
#!/bin/zsh
PWD=$(cd $(dirname %0); pwd)
docker run -it --rm \
-e DISPLAY="$(hostname):0" \
-v ${HOME}/.Xauthority:/home/${USER_NAME}/.Xauthority \
-v ${PWD}/data:/data \
-v ${PWD}/work:/home/${USER_NAME}/work \
-u ${USER_NAME} \
ubu22_utsusemi_arm64 /bin/bash
ビルドとコンテナ起動#
$ ./build_linux.sh
$ ./run_linux.sh
コンテナ起動後#
コンテナの環境は以下のインストールを行なったものと同等である。
上記のサンプルスクリプトでコンテナを起動しbash環境に入と、この時点で下記のようなアプリケーションがシェルから使えるようになっている。
Utsusemiアプリケーション |
説明 |
---|---|
EnvironSetting |
【初期設定】空蟬の各種設定を行う |
Sequencer, Ana |
SequenceEditorを起動する |
M2Plot |
M2Plot+を起動する |
MPlot |
MPlotを起動する |
D4mat |
【非弾性】D4MatSlicerを起動する |
D4mat2 |
【非弾性】D4Mat2Slicerを起動する |
最初に EnvironSetting を実行し初期設定を済ませておくこと。
$ EnvironSetting