0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GMT@Docker

Last updated at Posted at 2016-09-15

20160915

Virtualbox 上の CentOS7

  1. docker 自体のインストール
  2. GMT4.5 のインストール
  3. GMT5 のインストール
  4. Docker 環境へのアクセス
  5. Docker memo

20190208 メモ

メモ作成時点では気にしていなかったのですが、東海大学のFTPは繋がらない事が、ままある様です。

ミラーじゃなく本家のFTPに差し替えてください。

ftp://ftp.soest.hawaii.edu/gmt/

1. docker 自体のインストール

root にて。

# yum install -y docker    # インストール
# chkconfig docker on      # 自動起動 ON
# service docker start     # デーモンスタート
  • セキュリティを気にしない人は、この時点で、「ユーザーで実行可能に」を実行すれば、ユーザー権限で実行できる。

2. GMT4.5 のインストール

Dockerfile の設置

以下の内容のファイルを適当な場所(/PATH/TO/tmp/)に Dockerfile という名前で保存

FROM ubuntu:15.10
RUN apt-get update
RUN apt-get install -y build-essential libnetcdf-dev libgdal1-dev libfftw3-dev libpcre3-dev
RUN apt-get install -y gdal-bin wget
RUN wget ftp://ftp.scc.u-tokai.ac.jp/pub/gmt/gshhg-gmt-2.3.4.tar.gz && \
    tar xzf gshhg-gmt-2.3.4.tar.gz
RUN mkdir -p /usr/local/share/gmt && mv gshhg-gmt-2.3.4 /usr/local/share/gmt/gshhg
RUN wget ftp://ftp.scc.u-tokai.ac.jp/pub/gmt/gmt-4.5.13-src.tar.bz2 && \
    tar xjf gmt-4.5.13-src.tar.bz2
RUN cd gmt-4.5.13 && \
    ./configure \
      --prefix=/usr/local \
      --with-gshhg-dir=/usr/local/share/gmt/gshhg \
      --enable-triangle \
      --disable-flock \
      --enable-eps && \
    make && \
    make install-gmt && \
    make install-data && \
    make install-man && \
    make install-doc
ENV PATH /usr/local/bin:$PATH

環境作成

root にて。

# cd /PATH/TO/tmp/
# docker build -t gmt:4.5.13 ./ >& make.log

これでしばらく待つと終了。warning は出るがビルド出来てるもよう。

動作確認

$ sudo docker run gmt:4.5.13 gmtdefaults -D | head -10
#
#   GMT-SYSTEM 4.5.13 [64-bit] Defaults file
#
# -------- Plot Media Parameters -------------
PAGE_COLOR      = white
PAGE_ORIENTATION    = landscape
PAPER_MEDIA     = a4+
# -------- Basemap Annotation Parameters ------
ANNOT_MIN_ANGLE     = 20
ANNOT_MIN_SPACING   = 0

3. GMT5 のインストール

Dockerfile の設置

以下の内容のファイルを適当な場所(/PATH/TO/tmp/)に Dockerfile という名前で保存

FROM ubuntu:15.10
RUN apt-get update
RUN apt-get install -y ghostscript build-essential cmake libnetcdf-dev libgdal1-dev libfftw3-dev libpcre3-dev
RUN apt-get install -y gdal-bin wget
RUN wget ftp://ftp.scc.u-tokai.ac.jp/pub/gmt/gshhg-gmt-2.3.4.tar.gz && \
    tar xzf gshhg-gmt-2.3.4.tar.gz
RUN wget ftp://ftp.scc.u-tokai.ac.jp/pub/gmt/dcw-gmt-1.1.1.tar.gz && \
    tar xzf dcw-gmt-1.1.1.tar.gz
RUN mkdir -p /usr/local/share/gmt && \
    mv gshhg-gmt-2.3.4 /usr/local/share/gmt/gshhg && \
    mv dcw-gmt-1.1.1   /usr/local/share/gmt/dcw
RUN wget ftp://ftp.soest.hawaii.edu/gmt/gmt-5.2.1-src.tar.xz && \
    tar xf gmt-5.2.1-src.tar.xz
RUN rm -rf ./gmt-5.2.1/build && mkdir ./gmt-5.2.1/build
RUN cd ./gmt-5.2.1/build && \
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. && \
    make && make install
ENV PATH /usr/local/bin:$PATH

環境作成

root にて。

# cd /PATH/TO/tmp/
# docker build -t gmt:5.2.1 ./ >& make.log

これでしばらく待つと終了。

動作確認

$ sudo docker run gmt:5.2.1 gmtdefaults -D | head -10
#
# GMT 5.2.1 Defaults file
# vim:sw=8:ts=8:sts=8
# $Revision: 15178 $
# $LastChangedDate: 2015-11-06 11:45:03 +0100 (Fri, 06 Nov 2015) $
#
# COLOR Parameters
#
COLOR_BACKGROUND                = black
COLOR_FOREGROUND                = white

4. Docker 環境へのアクセス

gmt が入った前提で、 root にて

ワンラインで

単発コマンド実行したい場合は、起動とか考えなくても、以下の様に実行できる。

# docker run gmt:4.5.13 pscoast -Jm1:25000000 -R120/155/20/50 -W > map.eps
  • 手元に map.eps ができればよい。
  • 標準出力に出力されるものは期待通り挙動する。

起動

gmt4 の環境(コンテナ)の中に入る。

# docker run -it --name gmt4 gmt:4.5.13 /bin/bash

コマンド実行

普通の *NIX と同じ。

# gmtdefaults -D
# pscoast -Jm1:25000000 -R120/155/20/50 -W > map.eps
# ps2raster -P map.jpg

環境から抜ける。

# exit

環境から手元へのファイルのコピー

# docker cp gmt4:/map.jpg .

次回から。

# docker start gmt4
# docker attach gmt4

で環境の中に入れる。

5. Docker memo

images

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
gmt                 4.5.13              914c64fe90c3        7 weeks ago         1.214 GB
gmt                 5.2.1               1fc2ed8ecfb0        7 weeks ago         1.415 GB
docker.io/ubuntu    15.10               9b9cb95443b5        7 weeks ago         137.2 MB
  • 当たり前だけど、ubuntu イメージは勝手にダウンロードされている。
  • イメージの削除は、rmi
    • コンテナが、利用してたりしてたら削除できない。

コンテナ

# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
4980c28a8e80        gmt:4.5.13          "/bin/bash"         8 minutes ago       Exited (0) 4 minutes ago                        gmt4
cf697bf723e9        gmt:5.2.1           "gmtdefaults -D"    30 minutes ago      Exited (0) 30 minutes ago                       gloomy_perlman

コンテナ自体は、容量が少ないので、放っておいてもよさそうだが、ワンライナーを実行するとその分だけ増えるので

# docker rm gloomy_perlman

などとして削る。

ユーザーで実行可能に

CentOS7

セキュリティリスク大

$ sudo groupadd docker
$ sudo usermod -g docker bunzaemon

デーモンリスタートでは効かず、OS 再起動で効いた。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?