LoginSignup
0
0

More than 1 year has passed since last update.

juliaでdocker環境を簡単に構築したい

Last updated at Posted at 2022-05-02

juliaで自作パッケージ用のdockerを作成

juliaでDockerfileなどを作成にあたり、参考にした記事やメモを残しておきます。

こちらを参考にしました。
https://github.com/terasakisatoshi/MyTemplate.jl

とりあえず、上の記事のREADMEに書いてあることをそのまま実行します。
すると、DockerFileができるので、それをそのまま自作のパッケージ用に書き換えれば良いです。

例えば、私の場合、すでに自作パッケージのQCMaterialNew(https://github.com/sakurairihito/QCMaterialNew)
が存在して、それのdockerfileなどを用意したいということでした。

ですので、上記で作成したそのままのDockerfileではなく、以下のような変更を行えば良いということになります。

RUN mkdir -p /workspace/YourPkg.jl/src && echo "module QCMaterial end" > /workspace/YourPkg.jl/src/QCMaterial.jl
COPY ./Project.toml /workspace/YourPkg.jl

上でやっていることは、/workspace/YourPkg.jl/srcというディレクトリを作成し、そこにQCMaterial.jlというファイルを作り、そこにmodule QCMaterial endを書き込むということになります。

あとは、ご自身のパッケージに必要なファイルなどをインストールをすれば良いです。

共用のマシンでドッカー環境を構築する場合

ERROR: SystemError: opening file "/workspace/YourPkg.jl/Manifest.toml": Permission denied

共用のマシンでやる環境だと上記のエラーが発生しました。
これは、ホスト側のUIDとコンテナ内のUIDを統一すれば解決すると思われます。

ワークステーション(WS)の中でVS code + SSH + Dockerで作業ディレクトリをmountしたとき、ちゃんとUID/GIDが適切な値に変更されるようになりました。

その際に、WSの.bashrcに

mkdir -p /tmp/$USER
export TMPDIR=/tmp/$USER

を記入すれば一時的なディレクトリを作られて問題が回避できます。
詳細はこちらを参考:
https://github.com/microsoft/vscode-remote-release/issues/2347

余談:OpenMPIもコンテナ内でできた

ubuntsで、ドッカーコンテナ内で、MPI並列も実行できました。
ちなみにMacとかだとドッカーで使用できるリソースは制限されますが、Ubuntsだとその制限はないようです。

まとめ

手軽にdocker環境を構築できました。

参考

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