LoginSignup
2
3

More than 3 years have passed since last update.

【Docker】気象・海象データ解析向けRstudio serverの構築

Last updated at Posted at 2020-04-27

はじめに

Dockerを用いて気象・海象データ解析向けのRstudio serverを構築します.

実行環境

OS:macOS Catalina version 10.15.3
docker: docker Desktop for Mac / Version 2.2.0.5 (43884) / Channel Stable

Dockerイメージとライブラリ

DockerイメージにはGIS関連のRパッケージが充実しているrocker/geospatialをチョイスし,これを基にして気象・海象データの代表的なファイル形式であるBUFR, GRIB1/2およびNetCDFをハンドリングするためのライブラリを併せて構築します.

手順

任意のディレクトリ~/Desktop/docker-compose/rstudiodocker-compose.ymldockerfileを作ります.

% mkdir -p ~/Desktop/docker-compose/rstudio
% cd ~/Desktop/docker-compose/rstudio
% touch docker-compose.yml dockerfile

次にdocker-compose.ymldockerfileを編集します.

docker-compose.yml
version: '3'
services:
  server:
    build:
     context: .
     dockerfile: dockerfile
    volumes:
      - ".:/home/rstudio/work"
    ports:
      - "8787:8787"
    restart: always
    tty: true
    stdin_open: true
    environment:
      - ROOT=TRUE
      - USERID=rstudio
      - PASSWORD=PASSWORD 

イメージ内にはinstall.packageでRのパッケージ,apt-get installcdonclをインストールします.libecbufrについてはdpkgwgribwgrib2についてはmakeこちらを参考にさせていただきました)でインストールをしています.

dockerfile
# Docker image
FROM rocker/geospatial

# install R packages
RUN R -e "install.packages(c('data.table','lubridate', 'stars', 'metR'))"

# install libraries
RUN apt-get update
RUN apt-get install -y wget \
    build-essential \
    gfortran \
    zlib1g-dev \
    cdo \
    ncl-ncarg

ENV CC gcc
ENV FC gfortran

RUN cd ~ \
    && wget https://launchpad.net/libecbufr/0.8.7/0.8.7/+download/libecbufr_0.8.7_amd64_r335_bionic64.deb \
    && dpkg -i ./libecbufr_0.8.7_amd64_r335_bionic64.deb

RUN cd ~ \
    && mkdir wgrib \
    && cd ~/wgrib/ \
    && wget ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib/wgrib.tar \
    && tar xvf wgrib.tar \
    && make \
    && cp wgrib /usr/local/bin/wgrib

RUN cd ~ \
    && wget https://www.ftp.cpc.ncep.noaa.gov/wd51we/wgrib2/wgrib2.tgz \
    && tar xvzf wgrib2.tgz \
    && cd ~/grib2/ \
    && make \
    && cp wgrib2/wgrib2 /usr/local/bin/wgrib2

そして~/Desktop/docker-compose/rstudioで以下のコマンドを実行します.一連の処理が終了するまでしばらく時間がかかります.

% cd ~/Desktop/docker-compose/rstudio
% docker-compose up -d --build

処理が終了するとコンテナが起動しています.

% docker ps
CONTAINER ID  IMAGE          COMMAND  CREATED            STATUS             PORTS                   NAMES
XXXXXXXXXXXX  rstudio_server "/init"  About a minute ago Up About a minute  0.0.0.0:8787->8787/tcp   rstudio_server_1

上記のように表示されたことを確認し,ブラウザでlocalhost:8787を検索してRstudio serverが表示されていれば成功です.

スクリーンショット 2020-04-07 19.58.02.png

スクリーンショット 2020-04-27 11.23.07.png

2
3
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
2
3