1
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?

Docker、はじめてみました (Part 1)の続編です。
※ 本記事ではWindows WSL2上の説明をしていますが、基本的にMacでも使えます

本記事で目指すところ

実際にdockerfileを作成し、イメージ作成とコンテナ作成を行います。
今回はR Serverを立ち上げることを目指します。

dockerfileの作成

R-v4.4.2

plaintext
# ベースイメージとしてRとRStudioを提供するrocker/rstudioを使用
FROM rocker/rstudio:4.4.2

# 必須システムライブラリをインストール
RUN apt-get update && apt-get install -y \
    libglpk40 \
    libglpk-dev \
    && apt-get clean && rm -rf /var/lib/apt/lists/*

Dockerイメージの作成

作成したDockerfileがあるディレクトリに移動しておく

zsh
docker build \
> -f <Dockerfile名> \
> -t <Dockerイメージ名>:<Tag名> \
> .

※Dockerイメージ名とTag名は管理しやすいようにしておきましょう!

Dockerコンテナ作成

この部分が今回の肝です

zsh
docker run \
> --name <Dockerコンテナ名> \
> -p 8787:8787 \ # この部分でポートを割り当てている
> -e PASSWORD=<パスワード> \ # R Serverログイン用
> -v /home/<ユーザー名>/<マウントしたいディレクトリ>:/home/rstudio/<マウントしたいディレクトリ> \
> -d <Dockerイメージ名> \
> /init

ポイント
-v引数:Dockerコンテナ内の/home/rstudioがR Serverのデフォルトワーキングディレクトリ
-d引数:-tや-itだとローカルのターミナルが使えないのでバックエンドでコンテナ作成

Dockerコンテナ起動

zsh
docker start <コンテナ名>

http://localhost:8787/ にアクセスするとR Serverが立ち上がっている
→ filesにマウントしたローカルフォルダが出てきます!

余談-1

R Serverは1時間放置すると勝手にサインアウトします
1時間以上かかる処理なんてざらにあるのでこれは由々しき事態です
というわけで同じく困っていて方がいたので以下URLに回答がありました
https://forum.posit.co/t/signed-out-due-to-inactivity-r-studio-server-open-source-version/91105
ローカルの /etc/rstudio/rserver.conf に下記を記載しましょう!

/etc/rstudio/rserver.conf
# Inactivity Timeout
auth-timeout-minutes to 0

これで安心して放置できますね~

余談-2

せっかくなので、GitHubレポジトリにDockerfileをpushしておく
※Dockerイメージの配布も良いですが、私が良く使う環境はサイズが大きいのでDockerfileの共有としています

zsh

余談-3

zsh
# Dockerイメージの扱い
docker image # 一覧表示
docker rmi <イメージ名> # 削除

# Dockerコンテナの扱い
docker start <コンテナ名> # 起動
docker stop <コンテナ名> # 終了
docker ps # 一覧表示
docker rm <コンテナ名> # 削除

※docker rmiは紐づいているコンテナを削除しないと使えない T_T

最後に

-v, -d引数あたりが難関だったなあ~
Part 3ではPython環境整えてみます

この時点で知っておくべきTipsや基本的内容があればぜひコメントください!

1
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
1
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?