👌

RHEL7におけるdockerインストール

2020/11/03に公開

インストールコマンド一式

Red Hat Enterprise Linux 7 (RHEL7)に、docker + nvidia docker環境を構築する場合は、下記のコマンドを実施します。

# install docker
sudo yum install yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker

# install nvidia settings
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo

sudo yum clean expire-cache
sudo yum install nvidia-container-toolkit

docker リポジトリへのアクセスエラー

sudo yum install docker-ce docker-ce-cli containerd.ioでリポジトリにアクセスできず、失敗する場合があります。その場合は、/etc/yum.repos.d/docker-ce.repoの一部を書き換えます。$relserverとなっているところを今回はRHEL7のため7という数字に置き換えます。下記は一例ですが、docker-ce.repoに書かれている同様の箇所を変更します。

= [docker-ce-stable]
= name=Docker CE Stable - $basearch
- baseurl=https://download.docker.com/linux/centos/$relserver/$basearch/stable
+ baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
= enabled=1
= gpgcheck=1
= gpgkey=https://download.docker.com/linux/centos/gpg

上記対応が必要となる理由ですが、今回試した環境では $relserver の展開文字列が 7Server となっていました。本来 $relserver の変数は、下記のページにあるように /etc/yum.confdistroverpkg=value として宣言されているようです。

今回は強制的に docker-ce.repo を書き換えましたが、上記ファイルに宣言を設定するというのも対応方法になるはずです。

参考資料

Discussion