Skip to content

Instantly share code, notes, and snippets.

@zr-tex8r zr-tex8r/Dockerfile
Last active Jun 19, 2019

Embed
What would you like to do?
Docker container that can do SATySFi
FROM ocaml/opam2:debian-9-ocaml-4.06.0
USER root
RUN apt update && apt install -y \
build-essential \
autoconf \
git \
m4 \
unzip \
wget \
ca-cacert \
ca-certificates \
ruby \
--no-install-recommends && \
apt clean
ARG VERSION=HEAD
USER opam
WORKDIR /home/opam
RUN git clone https://github.com/gfngfn/SATySFi /home/opam/SATySFi && \
cd SATySFi && \
git checkout ${VERSION}
WORKDIR /home/opam/opam-repository
RUN git pull && \
eval `opam env` && \
opam repository add satysfi-external https://github.com/gfngfn/satysfi-external-repo.git && \
opam update
WORKDIR /home/opam/SATySFi
RUN (opam pin add -y satysfi . || true) && \
opam install -y satysfi
RUN mkdir /home/opam/work \
&& \
(test -r ./download-fonts.sh && test -r ./install-libs.sh) \
&& \
(sh ./download-fonts.sh && sudo sh ./install-libs.sh) \
|| \
(mkdir /home/opam/.satysfi && \
cp -r /home/opam/.opam/4.06.0/share/satysfi/dist /home/opam/.satysfi/)
WORKDIR /home/opam/work
ENTRYPOINT ["/home/opam/.opam/4.06.0/bin/satysfi"]
@zr-tex8r

This comment has been minimized.

Copy link
Owner Author

zr-tex8r commented Oct 25, 2018

簡単な説明

(Dockerがチョットデキナイ人のための)

準備:ダウンロードしたDockerfileだけを置いたディレクトリに移動して、以下を実行してコンテナをビルドする。
※コマンドの最後の.に注意。
※コンテナ名(mysatysfi)は自由に決めてよい。mysatysfi:0.0.3みたいな“タグ付きの名前”も使える。

・最新(HEAD)の版を使う場合

docker build -t mysatysfi .

・特定の版(例えばv0.0.3)を使う場合

docker build --build-arg VERSION=v0.0.3 -t mysatysfi .

後は(任意のディレクトリで)次のコマンドでSATySFiを起動できる。

docker run --rm -it -v "(現在ディレクトリ):/home/opam/work" mysatysfi (引数...)

※コマンド名satysfiは書かない。
現在ディレクトリは絶対パスで与える必要がある。Windows(Docker for Windows/Docker Toolbox)の場合、例えばC:\Users\zr\docというパスなら/c/Users/zr/docと書く。環境によっては現在ディレクトリ(コンテナにマウントするホスト環境のディレクトリ)について制限がある。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.