👌

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

2020/11/03に公開約1,900字

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

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

ログインするとコメントできます