← BACK TO COMPUTING
Container Platform

Docker 環境構築と ROOT 導入

研究用途等でCERNのROOTを使用する際、Dockerを利用して環境を構築する手順。公式のUbuntu向けDockerインストール手順から、rootproject/rootコンテナの起動・マウントまで。

参考: Docker Hub - rootproject/root | Docker Install Ubuntu

旧バージョンの削除

まずは競合を避けるために、古いバージョンのDocker関連パッケージが存在する場合は削除しておく。

# 古いDockerパッケージをまとめてアンインストール
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)

Dockerエンジンのインストール

aptリポジトリを利用して最新のDockerをインストールする。GPGキーの追加からソースリストの設定まで。

# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update

インストール実行

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

動作確認

インストール後、サービスの状態とテストコンテナで正常に動くか確認する。

# サービスの状態確認
sudo systemctl status docker

# 動作確認のHello World
sudo docker run hello-world

以下のメッセージが出力されたらOK!!
Hello from Docker!
This message shows that your installation appears to be working correctly.

ROOT コンテナの起動

ホストマシンのディレクトリ(今のディレクトリ)をコンテナ内にマウントしつつ、権限を揃えるためにユーザーIDを指定して ROOT を起動する。

# ホストのホームディレクトリ(~)をコンテナの/userhomeにマウント
# --rm : コンテナ終了時に自動削除
# -it : インタラクティブモード
sudo docker run --rm -it -v ~:/userhome --user $(id -u) rootproject/root

起動後の画面

$ sudo docker run --rm -it -v ~:/userhome --user $(id -u) rootproject/root

   ------------------------------------------------------------------
  | Welcome to ROOT 6.38.00                        https://root.cern |
  | (c) 1995-2025, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for linuxx8664gcc on Nov 27 2025, 09:05:19                 |
  | From tags/v6-38-00@v6-38-00                                      |
  | With c++ (Ubuntu 15.2.0-4ubuntu4) 15.2.0 std202302               |
  | Try '.help'/'.?', '.demo', '.license', '.credits', '.quit'/'.q'  |
   ------------------------------------------------------------------

root [0] .q

無事にROOTプロンプトが立ち上がれば成功。終了する時は .q で抜けられる。

Dockerfile の利用

Dockerfileを使用して、公式ROOTイメージにエディタなどの追加ツールをインストールしたカスタムイメージを作成・実行する手順。

Dockerfile の作成

FROM rootproject/root:6.34.00-ubuntu24.04

USER root
RUN apt-get update && \
    apt-get install -y software-properties-common vim nano less && \
    add-apt-repository -y ppa:maveonair/helix-editor && \
    apt-get update && \
    apt-get install -y helix && \
    rm -rf /var/lib/apt/lists/*

WORKDIR /userhome

CMD ["/bin/bash"]

イメージのビルドと実行

# イメージのビルド
sudo docker build -t my-root-env .
# コンテナの起動
sudo docker run --rm -it -v ~:/userhome --user $(id -u) my-root-env