Docker 環境構築と ROOT 導入
研究用途等でCERNのROOTを使用する際、Dockerを利用して環境を構築する手順。公式のUbuntu向けDockerインストール手順から、rootproject/rootコンテナの起動・マウントまで。
旧バージョンの削除
まずは競合を避けるために、古いバージョンの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