doikoji
@doikoji (土井 考爾)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Docker向きのお勧めlinuxディストリビューションは?

Q&A

Closed

背景

Rという面倒くさい言語

データ解析の仕事でR言語を使っています。

具体的な解析作業に当たってはそれぞれの目的に合致したライブラリを利用するのですが、一つのライブラリで事足りることは少なく、大抵は2-3種類のライブラリを混ぜて使うことになります。またデータが大容量で解析手順が複雑なため、対話処理ではなくスクリプトを組んでのバッチ処理が欠かせません。

ここで問題なのがRのライブラリそれぞれが持つややこしい環境依存性です。

多くのライブラリが特定バージョンのR本体を要求します。その上、大きなライブラリはしばしば他のライブラリを内部で呼び出して利用する仕様で、それらの下請けライブラリについてもバージョンが合わないことにより問題が発生することがしばしばあります。

下手に新しいライブラリをインストールしようとすると、インストーラは依存する他のライブラリもそれに合わせたものに更新しようとします。結果、それまで動いていた別のライブラリがまともに動かないという状況が発生します。

Dockerをubuntuに導入してみた

あまりに煩雑すぎるRのバージョン管理に嫌気がさした私は、次の決断を下しました。

  • Rライブラリごとに専用のDockerベースの仮想環境を用意する
  • 解析に当たってはホスト上に置いた「マスタースクリプト」から各ライブラリをコンテナ越しに利用し連携を図る

解析用ubuntu上でそのような環境構築を試み、とりあえずうまくいきつつあります。

Docker向きのディストリビューションとは?

このたびマシンを増設することになり、上記のDocker+R環境を構築したいと思っているのですが、正直Dockerの環境設定は煩雑を究めるので自分ではやりたくありません。巷にあふれるインストール関係情報はまるで当てになりませんし…。

そこでググってみたところ「Docker対応の軽量ディストリビューション」というものがいくつか存在することを知りました。

Docker向けの軽量Linux OS 主要3種を比較する | Think IT(シンクイット)

この記事などよくまとまっていて解りやすかったです。ただ、いかんせん記事の作成日が古いようです。他にディストリビューションの比較記事がないか探してみましたが、今一つよくまとまったコンテンツが見当たりません。

質問

そこで、実際に「Docker向きのlinuxディストリビューション」、とくに、「Dockerが最初から利用可能なlinuxディストリビューション」を使っている方がおられたら、具体的なディストリビューション名と使い勝手などを教えていただけませんでしょうか。

よろしくお願いします。

3

3Answer

「dockerに対応」と一言で行っても
ゲストとして使う(Dockerイメージに使う)ディストリビューションと、ホストとして使う(Dockerエンジンを動かす)ディストリビューションを区別する必要があり、Alpineは前者向けのディストリなので今回の用途には向かないと思います。

CoreOSの他RnancharOS等も後者の用途で使われるイメージがありますが、dockerコマンドのみを使うのであれば、あまり使い勝手に差はないと思います。

ただ、Ubuntuへのdockerのインストールには罠が多いことも事実ですが、実際のところ新しいマシンにUbuntuをインストールした後に

$ curl -fsSL https://get.docker.com  | sudo sh
$ sudo usermod -aG docker $(whoami)
# reboot machine

とするだけでインストールできます。
(これは公式ドキュメントにも記載されている方法を元にしています (該当箇所リンク))

単に環境構築のコストのみを考えるのであれば、すでに慣れているUbuntuを使う方が、特殊なディストリの設定方法を調べる手間もなく、ベストかと思います。

5Like

普段はUbuntuやCentOSベースでカジュアルに開発環境のDockerを利用している者です。
軽量環境としてはAlpine Linuxが有力ではと思っていますが、実際に利用経験がなく、2016年のこのニュースで一時盛り上がりを見せたものも、それ以降は(選択肢の一つではありつつも)あまり注目されていないような気がしています。
どなたか有識者の方、最新情報をいただけると…

Docker、オフィシャルイメージのOSをAlpine Linuxへ切り替える計画が明らかに。OSの軽量化に傾倒するDocker - Publickey
https://www.publickey1.jp/blog/16/docker_alpine_linux.html

1Like

Comments

  1. @doikoji

    Questioner

    @studio15 さん:
    > 軽量環境としてはAlpine Linuxが有力では

    紹介された記事をざっと読んでみました。ベースイメージ5MBとはすごいですね。これならディスク容量を気にせずコンテナを作りまくることができそうです。ちょっと試してみようかな…。

Your answer might help someone💌