Edited at

日本語フォントでも大丈夫なようにrocker/hadleyverseのDockerfileを修正する

More than 3 years have passed since last update.

Dockerコンテナで Rstudioを利用したいと思ったらrocker/rstudioやrocker/hadleyverseが便利そうです。しかし、これらのイメージでは、日本語フォントが文字化けしてしまいます。そこで、rocker/hadleyverseのDockerfileをベースに日本語フォントが大丈夫なDockerfileを作成しました。元のイメージに比べるとイメージサイズがだいぶ大きめですが、そこはあらかじめご了承ください。

イメージのビルド、起動、 RStudioの起動、使用方法はrocker/rstudioと同じです。preambleでlatex_engine: xelatex(またはlualatex)とmainfont: IPAPGothicとmonofont:IPAPGothicと設定すれば日本語フォントも大丈夫です。

Dockerfileは以下のとおり

FROM rocker/rstudio

MAINTAINER "jnobuyuki"

RUN apt-get update
RUN apt-get install -y --no-install-recommends \
ibus-mozc \
manpages-ja
RUN apt-get install -y --no-install-recommends imagemagick \
lmodern \
texlive \
texlive-lang-cjk \
texlive-luatex \
texlive-xetex \
xdvik-ja \
dvipsk-ja \
gv \
texlive-fonts-recommended \
texlive-fonts-extra \
&& apt-get clean \
&& cd /usr/share/texlive/texmf-dist \
&& wget http://download.forest.impress.co.jp/pub/library/i/ipafont/10483/IPAfont00303.zip \
&& unzip IPAfont00303.zip \
&& echo "Map zi4.map" >> /usr/share/texlive/texmf-dist/web2c/updmap.cfg \
&& mktexlsr \
&& updmap-sys

## Install some external dependencies.
RUN apt-get update \
&& apt-get install -y --no-install-recommends -t unstable \
default-jdk \
default-jre \
gdal-bin \
icedtea-netx \
libatlas-base-dev \
libcairo2-dev \
libgsl0-dev \
libgdal-dev \
libgeos-dev \
libgeos-c1v5 \
librdf0-dev \
libssl-dev \
libmysqlclient-dev \
libpq-dev \
libsqlite3-dev \
libv8-dev \
libxcb1-dev \
libxdmcp-dev \
libxml2-dev \
libxslt1-dev \
libxt-dev \
netcdf-bin \
qpdf \
r-cran-rgl \
ssh \
&& R CMD javareconf \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/ \
&& rm -rf /tmp/downloaded_packages/ /tmp/*.rds

## Install the Hadleyverse packages (and some close friends).
RUN install2.r --error \
broom \
DiagrammeR \
devtools \
dplyr \
ggplot2 \
ggthemes \
haven \
httr \
knitr \
lubridate \
packrat \
pryr \
purrr \
reshape2 \
rmarkdown \
rmdformats \
rticles \
rvest \
readr \
readxl \
testthat \
tibble \
tidyr \
tufte \
shiny \
stringr \
xml2

## Manually install (useful packages from) the SUGGESTS list of the above packages.
## (because --deps TRUE can fail when packages are added/removed from CRAN)
RUN install2.r --error \
-r "https://cran.rstudio.com" \
-r "http://www.bioconductor.org/packages/release/bioc" \
base64enc \
BiocInstaller \
codetools \
covr \
data.table \
downloader \
gridExtra \
gtable \
hexbin \
Hmisc \
htmlwidgets \
jpeg \
Lahman \
lattice \
lintr \
MASS \
PKI \
png \
microbenchmark \
mgcv \
mapproj \
maps \
maptools \
mgcv \
nlme \
nycflights13 \
quantreg \
Rcpp \
rJava \
roxygen2 \
RMySQL \
RPostgreSQL \
RSQLite \
testit \
V8 \
XML \
&& r -e 'source("https://raw.githubusercontent.com/MangoTheCat/remotes/master/install-github.R")$value("mangothecat/remotes")' \
&& r -e 'remotes::install_github("wesm/feather/R")' \
&& rm -rf /tmp/downloaded_packages/ /tmp/*.rds

RUN echo "ja_JP.UTF-8 UTF-8" >> /etc/locale.gen
RUN locale-gen
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP.UTF-8
ENV LC_ALL ja_JP.UTF-8